command_queue::enqueue_svm_memcpy(..) does not work
- Dominant language
- C++
- Stars
- 1.7k
- Forks
- 340
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
Tests `fill_svm_buffer`, `copy_svm_ptr` and `sum_svm_kernel` fail on my AMD Radeon R9 380. I managed to figure out that is all because of `command_queue::enqueue_svm_memcpy(..)` not working. It does not copy the data. When map and unmap operations are used instead of memcpy, everything works.
It looks like AMD drivers has a bug in `clEnqueueSVMMemcpy()`, but I'll have to test it without Boost.Compute. When it's confirmed, I'll do workaround for this (or we'll just wait for fix).
For now I'll push pull request fixing `fill_svm_buffer` and `sum_svm_kernel`, because in those cases copy operations are just a part of preparations for testing (not tested algorithm) and also because not working `command_queue::enqueue_svm_memcpy(..)` is not the only bug in `sum_svm_kernel` test.
Environment:
```
OS: Linux Mint 17.2 (3.16)
Platform Version: OpenCL 2.0 AMD-APP (1800.11)
Board name: AMD Radeon (TM) R9 380 Series
Device OpenCL C version: OpenCL C 2.0
AMD GPU Drivers: 15.9 (15.201.1151)
```
##
Contributor guide
Assessment
This issue has not been assessed yet.