Exemple de conception de multiplication de matrices

Recommandé pour :

  • Périphérique : inconnu

  • Quartus : v17.1

author-image

Par

Cet exemple contient une implémentation haute performance de l’opération fondamentale de multiplication matricielle et démontre des optimisations qui peuvent être décrites dans Open Computing Language (OpenCL™) afin d’obtenir des performances nettement améliorées. Au niveau algorithmique, le noyau de cet exemple montre comment décrire le traitement en boucle pour tirer parti de la réutilisation des données inhérente au calcul.

Cet exemple démontre également comment utiliser le découpleur de boucle et les optimisations de compilateur de type SIMD pour augmenter facilement les performances du noyau. Dans le cadre du package de l’exemple, les paramètres pour chaque périphérique précompilé binaire ont été choisis pour maximiser les performances sur cette carte particulière. Des détails supplémentaires sont disponibles dans le package d’exemples qui montrent à quel point il est facile de paramétrer le noyau pour cibler différentes performances et différentes exigences en matière de ressources.

De plus, l’application hôte est configurée pour tirer automatiquement parti de plusieurs périphériques OpenCL en répartissant le calcul et en obtenant encore plus de parallélisme.

Performances de multiplication matricielle de pointe

Fonctionnalités

  • Mise en œuvre optimisée d’un fonctionnement fondamental
  • Mise en mémoire tampon locale
  • Optimisations du compilateur (délation de la boucle, num_simd_work_items attribut)
  • Optimisations en virgule flottante
  • Exécution de plusieurs périphériques

Téléchargements

L’exemple de conception fournit le code source du périphérique OpenCL (.cl) ainsi que de l’application hôte. Pour compiler l’application hôte, le package Linux comprend un fichier Makefile et le package Windows comprend un projet Microsoft Visual Studio 2010.

Les téléchargements suivants sont fournis pour cet exemple :

L’utilisation de cette conception est régie par les conditions générales du contrat de licence de conception de référencematérielle et soumise .

Exigences matérielles et logicielles

Cet exemple de conception nécessite les outils suivants :

  • Logiciel Intel FPGA v17.1 ou ultérieure
  • Intel FPGA SDK pour OpenCL™ v17.1 ou une version ultérieure
  • Sous Linux : GNU Make and gcc
  • Sous Windows : Microsoft Visual Studio 2010

Pour télécharger les outils de conception Intel, consultez la page de téléchargement OpenCL. Les exigences du système d’exploitation sous-jacent sont les mêmes que celles du Intel FPGA SDK pour OpenCL.

OpenCL et le logo OpenCL sont des marques commerciales d’Apple Inc. utilisées avec autorisation par Khronos.

* Le produit est basé sur une spécification khronos publiée et a réussi le processus de test de conformité de Khronos. Le statut de conformité actuel se trouve à www.khronos.org/conformance.

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.