7
votes

HPC (principalement sur Java)

Je cherche une bonne façon d'utiliser la capacité numérique de GPU (avec Java peut-être?) En plus de l'utilisation des multiples noyaux que la machine cible a. Je travaillerai sur la mise en œuvre (à l'heure actuelle) l'algorithme A * mais à l'avenir, j'espère le remplacer par un algorithme génétique de toutes sortes. J'ai regardé forteresse du projet mais je construis mon interface graphique à JavaFX, je Je préfère ne pas s'écarter trop loin d'un JVM.

Bien sûr, aucune solution réalisable n'est disponible, je vais migrer vers la solution la plus facile à mettre en œuvre.


0 commentaires

4 Réponses :


5
votes

Si vous êtes intéressé par HPC avec GPUS, vous pouvez peut-être regarder JCUDA . Cela fournit des liaisons Java pour Cuda, ainsi que l'accès à Cuda FFT, Cuda Blas et Cuda DPP. Je n'ai vu aucun rapport de performance sur cette bibliothèque, je ne peux donc pas vous garantir que ce sera très bon.

Au-delà, je ne suis pas vraiment sûr. Si vous êtes intéressé à faire ce type de choses comme un exercice éducatif, Java devrait être suffisamment bon, mais si vous avez un besoin sérieux de HPC, vous allez probablement vouloir mettre en œuvre dans C et utiliser l'interface natif Java pour communiquer avec elle.


1 commentaires

Acclamations! Je vais regarder le lien dès que possible.



4
votes

Morten Nobel Joergensen a un Blog POST Afficher Comment créer un MandelBrot Set à l'aide de JOGL - Bindings Java pour OpenGL

Toutefois, si vous voulez l'informatique générique, plutôt que si des graphiques, vous seriez après les liaisons Java pour Opencl , à partir duquel vous pouvez choisir de JOCL ou JOCL ou Javacl .

La page Wikipedia montre comment OpenCl peut être utilisée pour calculer une transformée de Fourier rapide.


4 commentaires

Doux. Dans cet exemple, il rend une image 3D comme 2D à l'aide d'une caméra sans perspective. Serait-il possible d'atteindre la transformation brute 'UMPH!' Utiliser Jogl alors? Je demande parce que je n'ai jamais utilisé OpenGL auparavant et je ne veux pas franchir le pas à moins que cela ne réponde à mes besoins.


Auriez-vous des recommandations sur lesquelles opencl contraignant à utiliser?


@Insectatorious - Non, alors j'ai mis à jour ma réponse pour être plus utile.


@ Thorbjørn - Non, je n'ai commencé que récemment à les regarder moi-même



3
votes

Colt parallèle pourrait être d'intérêt.


2 commentaires

Faut-il le parallélisme implicite? Je lis la section de la concurrence, mais il ne semble pas y avoir rien à propos des avantages spécifiques au matériel.


La page Web suggère qu'il utilisera automatiquement plusieurs cœurs CPU dans la mesure du possible. Je n'ai pas utilisé cette version de Colt moi-même uniquement la bibliothèque d'origine sur laquelle elle est basée.



2
votes

Jetez un coup d'œil à JPPF , c'est une très belle et mature Open Source Java Grid Computing Computing Environ < / p>


0 commentaires