Vous devez utiliser OpenCL si vous avez des calculs de poids lourds qui peuvent être parallélisables et que vous voulez utiliser votre carte graphique pour le faire (ou une partie de celui-ci).
Il a un modèle de calcul un peu étrange (du moins si vous connaissez juste la programmation "générale" et non comment le GPU fonctionne ou si vous avez de solides antécédents dans certains domaines des mathématiques), et quelques limitations .
donc je pense qu'il est tout à fait improbable que ce que vous recherchez.
Les acteurs ont très peu à voir avec OpenCL, je pense que le seul point commun des deux que les deux traitent le problème du calcul parallèle, mais dans une perspective très différente. IMO le modèle d'acteur est beaucoup plus facile à comprendre et probablement aussi à utiliser (mais c'est juste une supposition car je n'avais pas vraiment d'affaires avec OpenCL jusqu'ici).
Si vous souhaitez implémenter un système basé sur un agent, les acteurs peuvent être très utiles. Vous pouvez jeter un oeil à des acteurs standards scala ou implémentations alternatives:
- Akka, offrant également de nombreuses fonctionnalités supplémentaires sur des acteurs + beaux documents avec quelques tutoriels
- acteurs scalaz
Je trouve que le GPU peut accélérer les choses extrêmement mais, comme l'a suggéré, il est non trivial de les coder et il n'a rien à voir avec les acteurs. Je pense que je m'en tiendrai aux acteurs de Scala et je vérifierai Akka. http://gpgpu.org/index.php?s=agent+based&searchbutton=Search – Pengin