Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

CL_PLATFORM_NOT_FOUND_KHR (-1001) while using docker ubuntu22.04 image with GPU enabled.

Abierto
#33 0 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Documentación
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
c, docker, ubuntu

Línea de trabajo

No se nombra ningún archivo ni prueba del repositorio. Empieza revisando el cuerpo del issue, las referencias a pocl-opencl-icd y clinfo, y la discusión enlazada sobre WSL para evaluar si la guía debería explicar la configuración de Docker OpenCL ICD y la distinción entre el host y el contenedor; el payload no define un cambio específico en la documentación ni una prueba de finalización.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hi, I'm new to heterogeneous programming with OpenCL. Today, I'm trying to create workspace using docker image ubuntu22.04 for OpenCL development.

Firstly, I run docker image with GPU enable via --gpus all flag:
docker run --gpus all -it my_container ubuntu:22.04

then I downloaded all the header file (/usr/include/CL/) and ICD (Installable Client Driver) which located in /usr/lib/x86_64-linux-gnu/libOpenCL.so

my toy program main.c in OpenCL:

#define CL_TARGET_OPENCL_VERSION 300

#include <stdio.h>
#include <CL/cl.h>

int main() {
	cl_device_id my_device_id;
	int result;
	clGetDeviceIDs(
		NULL,
		CL_DEVICE_TYPE_GPU,
		1,
		&my_device_id,
		NULL
	);
	if (result != CL_SUCCESS) {
		printf("Something went wrong\n");
		return 1;
	} else {
		printf("Good");
	}

}

I compiled with gcc main.c -o ./main -lOpenCL, output: clGetPlatformIDs(-1001)

What am I missing in here? How can I develop workflow for OpenCL in docker, I see cuda/opencl image but it seems not maintain anymore.

Edit: After an hour of searching I found that I missed the package called pocl-opencl-icd. Just simply sudo apt install pocl-opencl-icd, now clinfo show it found 1 platform but not CUDA platform in docker env.

Question: What is the relationship between Pocl and OpenCL. Why include pocl in docker container make clinfo can detect platform but in the "normal" environment, I mean the host OS not docker container, I don't need to download pocl-opencl-icd so clinfo still be able to detect platform? What is the different in here? Please enlighten me.

Lenguaje dominante
CMake
Estrellas
715
Forks
70
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de KhronosGroup/OpenCL-Guide

Todos los issues de KhronosGroup/OpenCL-Guide

Issues similares

Más issues de Documentation

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.