windows - habilitar - opencl amd
¿Realmente necesito un OpenCL SDK? (1)
Solo traté de familiarizarme con OpenCL, pero me confundí por completo cuando todos en Internet hablaban de descargar un OpenCL SDK específico para el proveedor. ¿Por qué necesitaría eso?
Mi comprensión sobre el uso de OpenCL fue la siguiente:
- Descargue los archivos de encabezado OpenCL que mantiene Kronos en el Registro OpenCL de Khronos y póngalos a disposición de su compilador.
- Compila tu código y vincúlalo con OpenCL.dll.
La razón por la que me confunde es porque pensé que OpenCL debería abstraer las implementaciones específicas del proveedor. Si ahora descargo un SDK específico del proveedor, entonces ¿esta ventaja se destruye?
¿Alguien puede aclarar esto?
Su comprensión es absolutamente correcta: no necesita ningún SDK de proveedor para desarrollar o ejecutar programas OpenCL. Todo lo que necesitas son los encabezados y una biblioteca para vincular. Los SDK del proveedor proporcionan un código de muestra que puede ser útil para observar mientras aprende a usar OpenCL, y también pueden proporcionar herramientas que pueden ayudar al desarrollo.
En Windows, necesitará una biblioteca OpenCL.lib
para enlazar, que los SDK proporcionan. Puede descargar las fuentes de esta biblioteca y compilarla usted mismo si lo desea.
Sin embargo, no se perjudica el uso del SDK de un proveedor específico. Los encabezados y la biblioteca que proporcionan en el SDK deberían ser solo las versiones originales de Khronos que puede descargar usted mismo. Esto significa que una aplicación OpenCL creada con el SDK de un proveedor se ejecutará perfectamente contra los dispositivos de otros proveedores.