GPU Compute Software
Ask questions about Intel® Graphics Compute software technologies, such as OpenCL* GPU driver and oneAPI Level Zero
222 Discussions

PVC 1550 does not have aspect::ext_intel_free_memory

JakubH
Novice
228 Views

Hello,

 

I just got my hands on the Intel Datacenter Max 1550 PVC GPUs on the Tiber devcloud, and it seems that they don't have the `aspect::ext_intel_free_memory`, so the function

```

my_device.get_info<sycl::ext::intel::info::device::free_memory>()
```
fails.
 
Is that really the case? Or am I doing something wrong?
 
I remember working with the training nodes in the Tiber devcloud (through the jupyterlab notebook), not sure which GPUs were there. Anyway, it seems very weird to me that your best GPU does not support such a simple function, which is why I am asking here.
 
For oneAPI toolkit version 2024.0.2 that is preinstalled it does not work. I also tried versions  2024.2.0 and 2025.0.0 which I installed myself, also no luck.

This is the output of sycl-ls with the 2025.0.0 version:
```
[level_zero:gpu][level_zero:0] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:1] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:2] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:3] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:4] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:5] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:6] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:7] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:8] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:9] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:10] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:11] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:12] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:13] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:14] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[level_zero:gpu][level_zero:15] Intel(R) oneAPI Unified Runtime over Level-Zero, Intel(R) Data Center GPU Max 1550 12.60.7 [1.3.27191]
[opencl:cpu][opencl:0] Intel(R) OpenCL, Intel(R) Xeon(R) Platinum 8468V OpenCL 3.0 (Build 0) [2024.18.10.0.08_160000]
[opencl:gpu][opencl:1] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:2] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:3] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:4] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:5] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:6] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:7] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:8] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:9] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:10] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:11] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:12] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:13] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:14] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:15] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:gpu][opencl:16] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [23.35.27191.42]
[opencl:cpu][opencl:17] Intel(R) OpenCL, Intel(R) Xeon(R) Platinum 8468V OpenCL 3.0 (Build 0) [2023.16.12.0.12_195853.xmain-hotfix]
[opencl:fpga][opencl:18] Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device OpenCL 1.2 [2023.16.12.0.12_195853.xmain-hotfix]
```

 

Both OpenCL and Level Zero don't have the free memory function working.

 

I tried both flat and composite mode for the 2-stack card, but none of them worked.

Thanks for help,

Jakub
 
---
 
btw here is a short code to check all GPUs if they have the free memory aspect:
```
#include <cstdio>
#include <string>
#include <vector>

#include <sycl/sycl.hpp>

int main()
{
    std::vector<sycl::device> devices = sycl::device::get_devices(sycl::info::device_type::gpu);

    for(size_t i = 0; i < devices.size(); i++)
    {
        const sycl::device & device = devices[i];
        printf("Device %2zu, name %s, platform %s, free mem: %s\n", i,
            device.get_info<sycl::info::device::name>().c_str(),
            device.get_info<sycl::info::device::platform>().get_info<sycl::info::platform::name>().c_str(),
            device.has(sycl::aspect::ext_intel_free_memory) ? "YES" : "NO");
    }

    return 0;
}
```
just `icpx -fsycl source.cpp -o program.x` and run.

 

0 Kudos
1 Solution
JakubH
Novice
153 Views

Turns out, you have to set the ZES_ENABLE_SYSMAN environment variable to 1 to have the free memory aspect available. It was set on the jupyterlab training nodes by default, but setvars.sh itself does not set it (at least not by default).

 

export ZES_ENABLE_SYSMAN=1

 

It is mentioned somewhere, but it is quite hidden (as is the aspect and the free memory device info itself): https://github.com/triSYCL/sycl/blob/sycl/unified/master/sycl/doc/extensions/supported/sycl_ext_intel_device_info.md#free-global-memory

 

 

 

btw, this thread got duplicated, so just for reference: https://community.intel.com/t5/GPU-Compute-Software/PVC-1550-does-not-have-aspect-ext-intel-free-memory/m-p/1642240

 

View solution in original post

0 Kudos
1 Reply
JakubH
Novice
154 Views

Turns out, you have to set the ZES_ENABLE_SYSMAN environment variable to 1 to have the free memory aspect available. It was set on the jupyterlab training nodes by default, but setvars.sh itself does not set it (at least not by default).

 

export ZES_ENABLE_SYSMAN=1

 

It is mentioned somewhere, but it is quite hidden (as is the aspect and the free memory device info itself): https://github.com/triSYCL/sycl/blob/sycl/unified/master/sycl/doc/extensions/supported/sycl_ext_intel_device_info.md#free-global-memory

 

 

 

btw, this thread got duplicated, so just for reference: https://community.intel.com/t5/GPU-Compute-Software/PVC-1550-does-not-have-aspect-ext-intel-free-memory/m-p/1642240

 

0 Kudos
Reply