- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is it not possible to offload threadprivate globals?
Compiling the following:
module mymodule
integer var_save
!dir$ attributes offload:mic :: var_save
!$omp threadprivate(var_save)
end module mymodule
Yields this error:
error #8690: *MIC* A threadprivate variable cannot appear in a DECLARE TARGET directive. [VAR_SAVE]
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
!dir$ attributes offload:mic :: var_save is equivalent to !$OMP DECLARE TARGET (var_save), which is not permitted by the OMP 4.0 Spec, Section 2.9.4:
Fortran
Restrictions
A threadprivate variable cannot appear in a declare target directive.
Patrick

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