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

Relaxed Allocation Limit in Level Zero

Abierto
#89 9 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
cpp
Área
api

Línea de trabajo

Reproduzca el comportamiento de asignación con el ejemplo levelZeroAlloc.cpp enlazado, utilizando zeMemAllocDevice y el indicador ZE_RELAXED_ALLOCATION_LIMITS_EXP_FLAG_MAX_SIZE. Compare totalSize de DEVICE_MEMORY_PROPERTIES informado y el resultado 0x78000009 con el bloqueo de múltiples búferes. Se considera completado cuando el comportamiento esperado y cualquier orientación o cambio necesario de la API estén documentados y cubiertos por una prueba adecuada.

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

Descripción

When playing around with the ZE_RELAXED_ALLOCATION_LIMITS_EXP_FLAG_MAX_SIZE flag for buffer allocation I noticed the following:

If I request a buffer to be allocated with a size larger than my system allows (in my case 26GB), I get an error with 0x78000009 (size argument is not supported by the device ). Which is expected.

For context, this is the output of the device memory properties of my system:

stype : DEVICE_MEMORY_PROPERTIES
pNext : 0x0
flags : Device::{ ? }
maxClockRate : 0      <-- Not sure why this value is 0 
maxBusWidth : 64
totalSize : 26706980864   <<- ~ 26GB
name : DDR

However, I am able to execute the allocate functions (e.g., zeMemAllocDevice) with for example, 3 buffers of 20 GB each (in total is using 60GB in global memory, which I should not be allowed to do this), So, each alloc call is requesting a buffer size smaller than the maximum global memory available but combined, it is much larger. But instead of getting an error code, I get directly a crash.

You can reproduce this using this sample code: https://github.com/jjfumero/codeBlogArticles/blob/master/april2022/levelZeroAlloc/levelZeroAlloc.cpp

Is this behaviour expected? Or have you considered/ is there anything in the Level Zero API similar to this call?

bool canBeAllocated = zeCanDeviceBufferSizeBeAllocated(context, deviceDesc, alignment, device, &buffer);

So a function that we can query for available space for a given buffer before the actual allocation.

Hardware/ Software details:

  • Intel Driver: 21.38.21026
  • Total RAM: 32 GB
  • OpenCL 3.0
  • GPU: Intel HD Graphics from i9-10885H
Lenguaje dominante
C++
Estrellas
336
Forks
140
Merge medio
19 h 53 min
PR fusionados (30 d)
3

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 oneapi-src/level-zero

Todos los issues de oneapi-src/level-zero

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.