- 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