Действительно ли OpenCL хорош для основанного на агенте моделирования?

Я изучаю Scala с целью записи основанных на агенте моделирований с помощью параллелизма агента. Я в настоящее время знаю очень мало о OpenCL, и прежде чем я погружусь в кого-либо, может сказать мне, если это, вероятно, будет соответствующим/совместимым с основанными на агенте моделированиями?

Если так, затем ScalaCL выглядит очень привлекательным.

10
задан Tomasz Nurkiewicz 6 January 2012 в 18:50
поделиться

2 ответа

Вам следует использовать OpenCL, если у вас есть тяжелые вычисления, которые можно распараллелить, и вы хотите использовать для этого свою графическую карту (или ее части).
У него немного странная модель вычислений (по крайней мере, если вы знаете только «общее» программирование, а не то, как работает графический процессор, или если у вас есть большой опыт в некоторых областях математики), а также некоторые ограничения на то, что и как вы можете делать.

Так что я думаю, что это маловероятно, что вы ищете.

Субъекты имеют очень мало общего с OpenCL, я думаю, единственная их общая черта в том, что они оба решают проблему параллельных вычислений, но с совершенно другой точки зрения. ИМО, модель акторов намного проще понять и, вероятно, также использовать ее (но это всего лишь предположение, поскольку у меня до сих пор не было никакого дела с OpenCL).

Если вы хотите реализовать систему на основе агентов, то акторы могут оказаться весьма полезными. Вы можете взглянуть на стандартные акторы scala или альтернативные реализации:

  • Akka , также предлагающие множество дополнительных функций поверх акторов + красивые документы с некоторыми учебными пособиями
  • акторы в scalaz
4
ответ дан 4 December 2019 в 03:15
поделиться

OpenCL - это обычно хорош только для ускорения программ, которые предполагают многократное выполнение одного и того же действия с разными данными. Если все ваши агенты будут делать одно и то же одновременно, тогда да, это может быть подходящим и совместимым.

В противном случае они просто не подходят друг другу, и OpenCL, вероятно, заставит вещи работать медленнее, чем быстрее.

2
ответ дан 4 December 2019 в 03:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: