История изменений
Исправление Obey-Kun, (текущая версия) :
Здорово. Интересно, как оно вообще умудрится перевести SoilBlock::moveInTime и HeatSurface::MoveInTime в, скажем, CUDA? Для этого и нужны thrust::device_vector?
И, вероятно, логичнее сделать соответствующие __host__ __device__ void operator() внутри HeatSurface и SoilBlock, дабы не делать отдельные структуры и уменьшить кол-во вызовов функций?
Если интересно, могу пояснить, что это за device_vector, зачем понадобилось конвертировать функции в функторы и т.п.
Поясни, пожалуйста.
А переключение бэкенда можно осуществлять во время работы софтины? То бишь возможно ли дать юзеру выбирать между поддерживаемыми на его компьютере бэкендами, не плодя одинаковый код?
Исправление Obey-Kun, :
Здорово. Интересно, как оно вообще умудрится перевести SoilBlock::moveInTime и HeatSurface::MoveInTime в, скажем, CUDA? Для этого и нужны thrust::device_vector?
И, вероятно, логичнее сделать соответствующие __host__ __device__ void operator() внутри HeatSurface и SoilBlock, дабы не делать отдельные структуры и уменьшить кол-во вызовов функций?
Если интересно, могу пояснить, что это за device_vector, зачем понадобилось конвертировать функции в функторы и т.п.
Поясни, пожалуйста.
А переключение бэкенда можно осуществлять во время работы софтины? Чтобы дать юзеру выбирать между поддерживаемыми на его компьютере бэкендами...
Исходная версия Obey-Kun, :
Здорово. Интересно, как оно вообще умудрится перевести SoilBlock::moveInTime и HeatSurface::MoveInTime в, скажем, CUDA? Для этого и нужны thrust::device_vector?
И, вероятно, логичнее сделать соответствующие __host__ __device__ void operator() внутри HeatSurface и SoilBlock, дабы не делать отдельные структуры и уменьшить кол-во вызовов функций?
Если интересно, могу пояснить, что это за device_vector, зачем понадобилось конвертировать функции в функторы и т.п.
Поясни, пожалуйста.