- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
We are trying to offload the main computations to the MIC, which includes FFT via the MKL and its fftw wrappers.
We are now running into this compilation error:
function "fftw_execute_dft" called in offload region must have been declared with compatible "target" attribute
Is this a bug, or is this intended ? Or do we link with the wrong library here ?
Any help appreciated.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It may help if you wrap [#include "fftw3.h"] between [#pragma offload_attribute(push) target(mic)] and [#pragma offload_attribute(pop)]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Thank you for your suggestion. There is a typo in your answer, the correct pragma is [#pragma offload_attribute(push target(mic))].
Compilation now works, but at runtime I get this error:
Hello,
Thank you for your suggestion.
Compilation now works, but at runtime I get this error:
On the remote process, dlopen() failed. The error message sent back from the sink is /tmp/coi_procs/1/6438/load_lib/iccoutNOEXQX: undefined symbol: fftw_execute_dft
offload error: cannot load library to the device 0 (error code 20)
On the sink, dlopen() returned NULL. The result of dlerror() is "/tmp/coi_procs/1/6438/load_lib/iccoutNOEXQX: undefined symbol: fftw_execute_dft"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Did you use -mkl option on the command line.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Using -mkl option solved the problem. Many thanks.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page