Question

J'apprends actuellement les API liées aux bibliothèques de parallélisation d'Intel, tels que TBB, MKL et IPP. Je me demandais, cependant, que ce soit aussi intéressant de regarder la partie d'AMD du casse-tête. Ou serait-ce juste une perte de temps? (Je dois avouer que je n'ai aucune idée sur le soutien de la bibliothèque AMD - du tout -. Si apprécierais les conseils que vous pourriez avoir)

Juste pour clarifier, la raison pour laquelle je vais la façon dont Intel est parce que 1) les API sont très gentils; et 2) Intel semble prendre le soutien d'outil sérieux que le support de l'API. (Encore une fois, je aucune idée comment AMD fait dans ce département.)

Était-ce utile?

La solution

Le MKL et les bibliothèques IPP se produiront (presque) aussi bien sur des machines AMD. Je pense que TBB fonctionnera aussi très bien sur les boîtes AMD. Si je devais proposer une technologie qui serait bénéfique et utile à la fois, il serait de maîtriser les bibliothèques OpenMP. Le compilateur Intel avec les extensions OpenMP est incroyablement rapide et fonctionne avec des puces AMD aussi.

Autres conseils

ne vaut que si vous êtes particulièrement intéressé à construire quelque chose comme les jeux vidéo, les systèmes d'exploitation, serveurs de bases de données ou de logiciels de virtualisation. En d'autres termes: si vous avez un segment où vous vous souciez assez sur la performance de prendre le temps de le faire (et de le faire à droite) en assembleur. La même chose est vraie pour Intel.

Si votre entreprise vend des paquets de seulement serveurs Intel avec votre logiciel, vous ne devriez pas la peine d'apprendre l'approche AMD. Mais si vous allez avoir à offrir des logiciels pour les deux (ou plusieurs) différentes plates-formes, alors il pourrait être intéressant de regarder dans les différentes technologies. Il sera très difficile de créer les wrappers pour les bibliothèques spécifiques au matériel. (D'autant plus que le filetage est impliqué.)

Et vous ne voulez certainement pas d'écrire la mise en œuvre complètement distincte pour chaque configuration matérielle. En fait, si votre logiciel doit être consommé par un utilisateur générique, vous pouvez abandonner la technologie Intel, et utiliser des techniques de filetage standard. Je ne veux pas être décourageant, mais je crois que les bibliothèques de threads Intel sont un peu en avance sur leur temps pour toutes fins utiles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top