- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page