cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

emscheffel
Journeyman III

OpenCL 2.0 Atomics and fine-grain system SVM not available on Lenovo E555 (A8-7100 APU)?

Hi there,

Very recently I bought the budget "business" laptop referred to in the title to this thread. It's obviously no beefy hardware and does not come with an additional cross-fire dGPU. I bought it nevertheless as a mobile entry-level APU to give OpenCL 2.0 programming a spin. I am using a 64bit Linux system (Slackware-current) with the latest OpenCL2.0 compliant Omega fglrx driver installed. But when typing clinfo into the command line it says that atomics and fine-grain system SVM are not supported.



































  SVM capabilities:
Coarse grain buffer:  Yes
Fine grain buffer:  Yes
Fine grain system:  No
Atomics:  No









I was reading some other threads about IOMMU and its apparent role played in relation to this programming feature. In my laptop's BIOS there is no explicit option for enabling IOMMU, but there *is* an option for enabling AMD's hardware virtualization features. I don't know if these two things are related, but I often see discussion threads on the internet linking these two issue. I would like to use all advanced OpenCL2.0 SVM features and was wondering if this can be done on my humble hardware. At the moment the only message relevant to this I see when grepping the output from dmesg is the diagnostics message line from the AMD IOMMU driver:













[6.769907] AMD IOMMUv2 driver by Joerg Roedel <joerg.roedel@amd.com>
[6.777046] AMD IOMMUv2 functionality not available on this system







I also found these message shown during boot-up:













[0.000000] Your BIOS doesn't leave a aperture memory hole
[0.000000] Please enable the IOMMU option in the BIOS setup




I can make the upper two error messages during boot-up disappear by appending to the linux kernel in the lilo.conf file "iommu=noaperture".  That however does not deal with my underlying problem. I have also experimented with the "amd_iommu=on" kernel boot option (in combination with "iommu=noaperture"), but still my problem remains that advanced fine-grain SVM features remain disabled. Finally I also tried passing "iommu=soft" combined with "amd_iommu=off" as suggested in some forums - again no luck in enabling the more advanced (or more granular) SVM features. I am beginning to ask myself though whether having access to coarse- and fine-grained buffers would not already be more than sufficient for many interesting and conceivable programming contexts implemented on my humble 256 GPU-core AMD APU. Maybe system fine-grain SVM and atomics are a bit of an overkill, given that they also result in performance penalties.

(Update 25/01/2015 - I think I might have found the answer. My laptop probably only supports AMD-V in its BIOS and probably not AMD-Vi,  but I am not 100% certain because the BIOS only refers to this functionality as "AMD Virtualization hardware features")

Thanks for any pointers on how to resolve/fix this issue

Eric

0 Likes
1 Solution
gopal
Staff

Hi Eric,

To use fine-grain atomics feature, you have to enable iommu setting, if it is not already, which will be there in:

Bios setting -> Chipset -> GFX configuration -> IOMMU.

Thanks,

View solution in original post

0 Likes
3 Replies
gopal
Staff

Hi Eric,

To use fine-grain atomics feature, you have to enable iommu setting, if it is not already, which will be there in:

Bios setting -> Chipset -> GFX configuration -> IOMMU.

Thanks,

0 Likes

Dear Gopal,

Thanks for the hint, that was the answer I had kind of figured out myself by now. The problem is that my Laptop's BIOS does not have an option for enabling IOMMU. There is only a more generic option for enabling "AMD Virtualization hardware features", which I think is a longer term for the AMD-V technology, but probably NOT the AMD-Vi technology which is now often used as an equivalent term for IOMMU. So unless Lenovo updates my laptop's BIOS I am stuck with not being able to enable IOMMU in the chipset.

Thanks anyways,

Eric

0 Likes

At present, on AMD platforms, SVM Atomics (fine grain buffer not system) is supported on only the Kaveri APU on Linux 64-bit OS.

Regards,