Реализация популяционных методов в GPU
Я внедряю методы популяризации, такие как Particle Swarm Optimization (PSO) в GPU, чтобы ускорить процесс. Я использовал Pytorch и TensorFlow в качестве основы.
К сожалению, ускорение, которое я получаю, не является блестящим. 5-6x это максимум, что я получаю.
Я думаю, что обновление, необходимое во время итеративного процесса, такое как обновление частиц, проверка пределов и т. Д., Каким-то образом замедляет его, потому что эти шаги обновления должны сравнивать каждую частицу в целом частицах, поэтому невозможно воспользоваться преимуществами GPU.
Я хотел бы знать, есть ли причина для этого.
Спасибо.