- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, I am a newbie on the intel-gfx and tries to use the shared virtual memory
which is mentioned in several intel documents (vt-d and Intel-gfx-prm).
Following the above two documents,
shared virtual memory is supported as part of VT-d functionality, and
in detail, IOMMU walks the PASID table and translates the virtual address to physical address
for the PCIe connected devices including the integrated GPUs.
Following the Intel document ,
It seems that clSVMAlloc is a OpenCL function for zero copy,
but after I've checked the repository of the opencl-intel (beignet),
I found that it never calls any driver functions for managing PASID table.
Is the current intel-gfx supports the shared virtual memory
through the IOMMU and PASID?
If the clSVMAlloc is not a right library function for SVM through
PASID and IOMMU, is there a function that satisfies my intention?
Best regards
Jaehyuk.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am not an expert on Beignet, but the OpenCL implementations on our drivers page support shared virtual memory. We have some samples showcasing SVM here: https://software.intel.com/en-us/intel-opencl-support/code-samples.
As for virtualization support, that is more limited. No problems are expected with GVT-D (direct or "passthrough", one VM per physical GPU). However, OpenCL and Media SDK are not fully supported with other forms of virtualization.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jaehyuk,
I completely understand what you say!
I also wonder how Intel makes SVM work without IOMMU+PASID, especially there's
some interfaces realated to PASID in linux kernel, like intel_svm_bind_mm().
I guess some GFX driver calls intel_svm_bind_mm(). But I cannot find any evidence.
Do you have an answer now?
What's the correct driver? Based on OpenCL?
Best Regards,
Raymond
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi RaymondP,
That drivers page is getting a refactor soon. Intel is looking to highlight that Intel Processor Graphics stacks for Linux OSs are moving to the Intel Graphics Compute Runtime for OpenCL Driver (user mode runtime)... it's opensource... so you can check out OpenCL calls for SVM in particular in it's git repo.
Two places come to mind in understanding the stack:
- Following the SVM calls through to kernel calls... in the above repo... https://github.com/intel/compute-runtime/
- and looking at i915 kernel mode drivers implementations in relatively recent linux kernels 4.11-4.14+ https://www.kernel.org/doc/html/v4.11/gpu/i915.html?highlight=i915#
Asking that kind of developer oriented question could yield more specifics directly on that github page.
Hope this is helpful.
-MichaelC

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page