ID de l'article: 000073931 Type de contenu: Dépannage Dernière révision: 25/10/2019

Pourquoi mon noyau OpenCL™ compile-t-il avec succès dans la version 18.1.2 et les versions antérieures, mais échoue-t-il dans la version 19.1 et les versions ultérieures ?

Environnement

  • Intel® Quartus® Prime Pro Edition
  • Intel® FPGA SDK pour OpenCL™
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descriptif

    Si votre noyau OpenCL se compile correctement dans la version 18.1.2 et les versions antérieures, mais échoue dans la version 19.1 et les versions ultérieures, recherchez un message semblable au suivant.

    #aoc : Vérifier si l’utilisation de la mémoire est supérieure à 100 %...

    #aoc: Attention l’utilisation de la RAM est à 173%!

    Si le message s’affiche, la compilation échoue car l’utilisation de M20K est supérieure à 100 %.

    Dans les versions précédentes de Intel® FPGA SDK pour OpenCL,™ le compilateur désactivait automatiquement la réplication de la mémoire locale pour tous les systèmes de mémoire s’il estimait une utilisation M20K supérieure à 100 %. À partir de la version 19.1, le compilateur ne désactive plus automatiquement la réplication de la mémoire locale.

    Résolution

    Utilisez des attributs de mémoire pour contrôler la réplication de la mémoire sur puce, comme le montre l’exemple ici.

    int __attribute__((mémoire, numbanks(1), singlepump, max_replicates(3))) LMEM[1028];

    Pour plus d’informations, consultez la section suivante du Kit de développement logiciel (SDK) Intel FPGA pour OpenCL Pro Edition : Guide des meilleures pratiques.

    Optimisation des accès à la mémoire locale en contrôlant le facteur de réplication de la mémoire

    Produits associés

    Cet article concerne 1 produits

    Circuits programmables Intel®

    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.