- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'm writing a benchmark to compare different technologies and their performance accross various platforms (on Linux). One of the platform is an Intel Broadwell-H (Core i7-5775C with integrated GPU Iris Pro 6200), so I'm testing the various ways to offload a code on my GPU using Cilk Plus. Right now, I'm trying to use SVM so I followed this tutorial but I'm facing some problems. Here's my code :
#include <stdio.h> #include <stdlib.h> #include <assert.h> #include <cilk/cilk.h> #include <gfx/gfx_rt.h> #define SIZE 64 int main(){ int * in = (int*)_GFX_svm_alloc(sizeof(int)*SIZE); #pragma offload target(gfx) _Cilk_for (int i = 0; i < SIZE; i++){ in = 1; } for (int i = 0; i < SIZE; i++){ assert(in == 1); } _GFX_svm_free(in); return 0; }
Then I compile with
- $ icc -qoffload-svm test.c test.c(12): error: *GFX* pointer variable "in" in this offload region must be specified in an in/out/inout/nocpy clause #pragma offload target(gfx) ^ compilation aborted for test.c (code 2)
I thought maybe SVM is not allowed on all patforms, so compiled with
- $ icc -qoffload-arch=broadwell -qoffload-svm test.c - $ ./a.out libva info: VA-API version 0.99.0 libva info: va_getDriverName() returns 0 libva info: User requested driver 'iHD' libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so libva info: Found init function __vaDriverInit_0_32 libva info: va_openDriver() returns 0 a.out test.c:18: main: Assertion 'in == 1' failed. Abandon (core dumped)
So I guess specifying the platform helps to compile, but the execution failed.
If I change the pragma adding inout(in : length(SIZE)), the compilation/execution works well with the first one, but with the second one we have the same execution problem. The point is : I don't want to add the inout clause, I shouldn't have to. I assume my compilation line is wrong but I can't say in which way.
So my question is : do you see something wrong in my code/compilation ?
Thanks a lot for your time,
Mathieu
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You're more likely to get a response to questions about offloading to the GPU in the Intel C++ Compiler forum.

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