oneapi-src / level-zero

oneAPI Level Zero Specification Headers and Loader
https://spec.oneapi.com/versions/latest/elements/l0/source/index.html
MIT License
208 stars 90 forks source link

Memory allocations limited to 4GB? #78

Closed fwinter closed 2 years ago

fwinter commented 2 years ago

Sorry, if this seems a dumb question. I'm super new to Level Zero and trying to build upon one of your examples..

When it comes to memory allocation (host/device/shared) I came across the statement that the maximum size for allocation is returned in ze_device_properties_t.maxMemAllocSize. Well, this returns on my system just a little under 2^32 or 4GB. The OS is 64 bit Ubuntu and has 64 GB RAM installed. Is this allocation limitation intentional?

I am looking ahead to systems which have dedicated GPUs with huge RAM installed and in our production application we typically allocate memory areas larger than 4GB. Am I seeing this allocation limitation because I'm using an Intel integrated HD graphics at the moment, or did I build Level Zero or the compute runtime in 32 bit somehow?

jandres742 commented 2 years ago

hi @fwinter please see here https://github.com/intel/compute-runtime/issues/481#issuecomment-986306573

fwinter commented 2 years ago

Thanks for the pointer! With ever-increasing GDDR sizes it seems only a matter of time when dropping the stateful route is required to keep a competitive edge in the field. Scientific computing workloads require big allocations that NV and AMD already allow.