ID del artículo: 000073931 Tipo de contenido: Resolución de problemas Última revisión: 09/08/2023

¿Por qué mi kernel de OpenCL™ se compila correctamente en la versión 18.1.2 y anteriores, pero falla en la versión 19.1 y posteriores?

Entorno

  • Intel® Quartus® Prime Pro Edition
  • Intel® FPGA SDK para OpenCL™ edición Pro
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descripción

    Si su kernel de OpenCL se compila correctamente en la versión 18.1.2 y anteriores, pero falla en la versión 19.1 y posteriores, busque un mensaje similar al siguiente.

    #aoc: Comprobando si el uso de memoria es mayor al 100%...

    #aoc: ¡Advertencia La utilización de RAM es del 173%!

    Si se muestra el mensaje, se produce un error en la compilación porque la utilización de M20K es superior al 100%.

    En versiones anteriores de Intel® FPGA SDK para OpenCL,™ el compilador deshabilitaba automáticamente la replicación de memoria local para todos los sistemas de memoria si estimaba una utilización de M20K superior al 100%. A partir de la versión 19.1, el compilador ya no deshabilita automáticamente la replicación de memoria local.

    Resolución

    Utilice atributos de memoria para controlar la replicación de memoria en chip, como se muestra en el ejemplo aquí.

    int __attribute__((memoria, numbanks(1), singlepump, max_replicates(3))) lmem[1028];

    Para obtener más información, consulte la siguiente sección del SDK de Intel FPGA para OpenCL Pro Edition: Guía de prácticas recomendadas.

    Optimización de los accesos a la memoria local mediante el control del factor de replicación de memoria

    Productos relacionados

    Este artículo se aplica a 1 productos

    Dispositivos programables Intel®

    El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.