2 votes

Recevoir un avertissement "cl_version.h: CL_TARGET_OPENCL_VERSION n'est pas défini. Passage par défaut à 220 (OpenCL 2.2)" pendant l'exécution

Suite à ceci et cela postes, je compile le code main.c sur ce GitHub Gist.

En exécutant la commande CMake find_package(OpenCL REQUIRED) j'obtiens ceci:

\-- Looking for CL\_VERSION\_2\_2 - found
-- Found OpenCL: C:/Program Files (x86)/IntelSWTools/system\_studio\_2020/OpenCL/sdk/lib/x86/OpenCL.lib (found version "2.2")

indiquant qu'une version 2.2 du SDK OpenCL a été trouvée. Cela est en contradiction avec ce que j'obtiens de l'outil clinfo, qui détecte un OpenCL 1.2 pour le SDK/les plateformes Intel. Maintenant, en exécutant l'exécutable j'obtiens:

cl_version.h: CL_TARGET_OPENCL_VERSION n'est pas défini. Par défaut à 220 (OpenCL 2.2)

Mes questions sont:

  1. Pourquoi j'obtiens deux versions différentes d'OpenCL de CMake et de clinfo?
  2. Quel est l'avertissement que je reçois à l'exécution et comment le corriger?

P.S. Ici se trouve la sortie de cmake .. --debug-find

3voto

doqtor Points 3748

La version OpenCL dans le SDK et celle signalée par clinfo sont 2 choses différentes :

  • clinfo signale la version OpenCL prise en charge par votre GPU
  • La version OpenCL du SDK est la version maximale prise en charge par le SDK

Maintenant, si vous utilisez dans votre programme OpenCL 2.0 et que votre GPU prend en charge OpenCL 1.2, je soupçonnerais qu'une des fonctions CL signalera une erreur ou que le programme aura un comportement indéfini. Vous pouvez définir la version cible d'OpenCL dans votre programme en utilisant #define CL_TARGET_OPENCL_VERSION , par exemple

#define CL_TARGET_OPENCL_VERSION 120

et ensuite l'API au-dessus de la version cible ne devrait pas être disponible.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X