LINUX.ORG.RU

История изменений

Исправление 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, зачем понадобилось конвертировать функции в функторы и т.п.

Поясни, пожалуйста.