Hello, I want to ask some basic questions; What is meant by compiler support? Like if we say compiler support is provided for some specific programming model or parallel programming or gpu programming what is meant by that? For example multiple compilers has support for openmp parallel programming model what is meant by that? What are the advantages of giving compiler support for openmp instead of using openmp externally /standalone? I would be very grateful if i get answers to these. Thank you Regards Hameeza Ahmed -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161225/1fed3d8f/attachment.html>
> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of hameeza ahmed via llvm-dev > Sent: Saturday, December 24, 2016 2:17 PM > To: llvm-dev at lists.llvm.org > Subject: [llvm-dev] Regarding Compiler support > > Hello, > I want to ask some basic questions; > > What is meant by compiler support? Like if we say compiler support is > provided for some specific programming model or parallel programming or > gpu programming what is meant by that?Typically it means if you have source code using those things, the compiler can compile that into something sensible.> For example multiple compilers has support for openmp parallel programming > model what is meant by that?For Clang it means the compiler understands OpenMP pragmas and will transform the related loops or whatever according to what the pragmas say to do.> What are the advantages of giving compiler support for openmp instead of > using openmp externally /standalone?"using openmp externally" sounds like you would run a separate preprocessor that understands the pragmas, and generates a modified source that does whatever the pragmas say, to the extent that is possible. Then you compile the modified source using a compiler that doesn't necessarily understand anything about OpenMP. The advantage of a compiler that understands OpenMP directly is that you save a step in your build process, and probably get better debugging info making your program easier to debug. --paulr> I would be very grateful if i get answers to these. > > > Thank you > > Regards > Hameeza Ahmed
In addition to what Paul said: On Wednesday, December 28, 2016, Robinson, Paul via llvm-dev < llvm-dev at lists.llvm.org> wrote:> The advantage of a compiler that understands OpenMP directly is that you > save a step in your build process, and probably get better debugging info > making your program easier to debug....and get better performing code as well -- some pragmas, like #omp simd, can't be expressed in plain C++ (unless one relies on some other pragmas... ;-)), so won't be expanded properly by a preprocessor. Yours, Andrey> --paulr > > > I would be very grateful if i get answers to these. > > > > > > Thank you > > > > Regards > > Hameeza Ahmed > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org <javascript:;> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170103/1f9b75bf/attachment.html>