На этом шаге мы начнем рассматривать пример использования глобальной памяти.
Чтобы проиллюстрировать важность выравнивания, рассмотрим решение на CUDA следующей задачи: дано N тел (будем считать, что их массы одинаковы) со своими положениями и скоростями. Необходимо просчитать их движение под действием сил взаимного притяжения.
Из школьного курса физики получаем формулу, описывающую полную силу, действующую на i-е тело:
Рис. 1. Формула полной силы
Для реализации моделирования дижения тел нам понадобиться четыре массива - положения и скорости в текущий и в следующий моменты времени. По скорольку мы имеем дело с трехмерными объектами, то проще всего использовать массивы типа float3.
На следующем шаге мы перейдем к практике.