¿Cómo compilar el kernel OpenCL en Bitstream, que luego puedo cargar directamente sin volver a compilar? Mi plataforma es una máquina AMD con APU y la GPU discreta de AMD. La máquina ejecuta el último SDK de aplicaciones de AMD que admite OpenCL 1.2.¿Cómo compilar el kernel OpenCL en Bitstream?
Respuesta
1) compilar el kernel a un programa desde el origen con la llamada a la API clCreateProgamWithSource. Los errores del compilador se recuperan con la llamada a la API clGetProgramBuildInfo.
2) utilice la llamada a la API clGetProgramInfo para obtener CL_PROGRAM_BINARY_SIZES. Estos son los tamaños de los binarios del programa. 2a) Asignar memoria para los binarios usando los tamaños de 2)
3) use la llamada de la API clGetProgramInfo para obtener CL_PROGRAM_BINARIES. Esto hace que el programa sea binario.
4) Un binario se puede convertir en un objeto de programa OpenCL con la llamada API clCreateProgamWithBinary.
Binarios es un dispositivo específico por lo que un binario compilado en un dispositivo específico no se ejecutará en un dispositivo diferente.
Para una instancia de proceso única, una vez que tenga el entorno (plataforma, dispositivo, contexto y cola) puede volver a utilizar el objeto Kernel OpenCL y volver a ejecutarlo con otra llamada API clEnqueueNDRange.
- 1. Llamar al kernel OpenCL desde otro kernel OpenCL
- 2. Tipos personalizados en el kernel OpenCL
- 3. Implementaciones Bitstream Bitstream
- 4. ¿Cómo usar una matriz 3-D en el kernel OpenCL?
- 5. ¿Cómo puedo depurar un kernel OpenCL en Xcode 4.1?
- 6. módulo del kernel Linux compilar
- 7. Cómo estructurar kernels OpenCL grandes?
- 8. ¿Cómo usar clang para compilar código OpenCL a ptx?
- 9. Diseñando un BitStream en C#
- 10. ¿Cómo declarar la memoria local en OpenCL?
- 11. ¿Cómo puedo forzar al compilador OpenCL de Apple a recompilar un kernel en caché?
- 12. ¿Cómo puedo saber si mi kernel OpenCL se está ejecutando en una GPU?
- 13. OpenCL Performance Optimization
- 14. ¿Cómo uso la memoria local en OpenCL?
- 15. ¿Cómo pasar y acceder a los vectores de C++ al kernel OpenCL?
- 16. Cómo usar clCreateProgramWithBinary en OpenCL?
- 17. Usando #include para cargar el código OpenCL
- 18. ¿Cómo obtener OpenCL SDK?
- 19. Mi kernel OpenCL es más lento en hardware más rápido ... ¿Pero por qué?
- 20. Distribución de OpenCL
- 21. ¿Por qué necesito volver a compilar el módulo vmware kernel después de una actualización del kernel de Linux?
- 22. Memoria en OpenCL
- 23. OpenCL escalar del vector vs
- 24. OpenCL: ¿es posible invocar otra función desde dentro de un kernel?
- 25. Barreras en OpenCL
- 26. Comenzando con OpenCL en Windows 7
- 27. La ejecución del kernel OpenCL no se inicia hasta que clFinish o clWaitForEvents se llamen
- 28. OpenCL: coherencia de memoria del dispositivo/host para variables pasadas al kernel con CL_MEM_USE_HOST_PTR
- 29. OpenCL - suma incremental durante el cálculo
- 30. OpenCL AMD vs NVIDIA rendimiento
¡Excelente y detallada respuesta! Muchas gracias! – gpunerd