- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please tell me which VS supports OpenMP 3.0? in OpenMP, 'for loop' use '#omp pragma parallel for' parallelize .but how does 'while loop' parallelize? Do linked list parallel need task? OpenMP3.0 have tasks
Slide 30
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The level of OpenMP support is a function of the OpenMP library, not of the Visual Studio version. As far as I could determine, the released Microsoft vcomp has not implemented any new OpenMP features since 2.0. Microsoft vcomp library was introduced in VS2005 and appears to be unchanged in VS2008. With VS2010, Microsoft introduces support for parallel with C++ lambda operators, which (I think) implies that tasking is added, but without mention of OpenMP 3.0.
Current versions of Intel OpenMP libiomp, which is included in Intel C++ and Fortran compilers and MKL libraries, support OpenMP 3.0 features, including the task feature originally proposed by Intel. All OpenMP syntax of both MSVC++ and the Intel compilers is handled by libiomp.
omp workshare provides for parallelization of while loops, but the libraries which "support" it for Windows do so only as a single region, so each individual while loop is restricted to one thread.
Improvement of support for linked list in OpenMP is among the reasons cited in on-line docs for addition of tasking in OpenMP 3.0.
Current versions of Intel OpenMP libiomp, which is included in Intel C++ and Fortran compilers and MKL libraries, support OpenMP 3.0 features, including the task feature originally proposed by Intel. All OpenMP syntax of both MSVC++ and the Intel compilers is handled by libiomp.
omp workshare provides for parallelization of while loops, but the libraries which "support" it for Windows do so only as a single region, so each individual while loop is restricted to one thread.
Improvement of support for linked list in OpenMP is among the reasons cited in on-line docs for addition of tasking in OpenMP 3.0.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - tim18
The level of OpenMP support is a function of the OpenMP library, not of the Visual Studio version.
Cheers,
-michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Michael Klemm, Intel
That's not quite true. While you're right that the OpenMP constructs of the program must be implemented in the library, it is the compiler that needs to understand them as well. Somebody has to generate the calls to the library :-).
Cheers,
-michael
Cheers,
-michael
Anyway, it's not Visual Studio itself, but the compiler in use, which comes closer to probably intent of the original question.
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