Linked by Thom Holwerda on Wed 7th Nov 2012 23:50 UTC, submitted by Joel Dahl
FreeBSD "I've made clang the default on x86 systems. There will probably be a few bumps as we work out the last kinks including a ABI issue for i386 system libraries, but the transition is expected to be fairly smooth for most users."
Thread beginning with comment 541404
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: why?
by kwan_e on Thu 8th Nov 2012 09:26 UTC in reply to "RE[2]: why?"
kwan_e
Member since:
2007-02-18

But the lack of support for OpenMP is a severe impediment for those like me that do HPC (I am working in a large astrophysical project, and our codes run on machines with 12 cores at least and take hours/days to complete!).


I don't know if this helps: http://root.cern.ch/drupal/content/cling

CERN does something with cling and clang and they do HPC stuff.

Reply Parent Score: 2

RE[4]: why?
by ideasman42 on Thu 8th Nov 2012 09:49 in reply to "RE[3]: why?"
ideasman42 Member since:
2007-07-20

While nifty, looks like a different tool - openmp is a standard that works across gcc/intel/ibm/oricle/msvc... compilers.

And can be integrated with existing c/c++/fortran codebases.

Reply Parent Score: 2

RE[5]: why?
by kwan_e on Thu 8th Nov 2012 11:54 in reply to "RE[4]: why?"
kwan_e Member since:
2007-02-18

I know it's a different tool, but it's worth investigating how CERN does its HPC work with clang/cling, if indeed they do use clang/cling for HPC.

I don't know much in that area and it would be interesting to hear from people who do.

Reply Parent Score: 2

RE[4]: why?
by zio_tom78 on Thu 8th Nov 2012 13:31 in reply to "RE[3]: why?"
zio_tom78 Member since:
2008-04-10

Thanks for the link. The site says that cling is an "interactive interpreter" for the C++ language, thus I figure it is something like "ipython" is for Python?

The concept is interesting, I've never heard of anything like it. But it's not clear to me how this could be used to compile some code that uses OpenMP.

CERN surely does HPC, but I bet their parallel codes were developed using MPI, which is a completely different technique and is supported by clang. Our codes rely both on MPI and OpenMP, and changing them to remove the dependency from the latter would be a huge (and useless) pain.

Edited 2012-11-08 13:33 UTC

Reply Parent Score: 2

RE[5]: why?
by kwan_e on Thu 8th Nov 2012 14:12 in reply to "RE[4]: why?"
kwan_e Member since:
2007-02-18

Thanks for the link. The site says that cling is an "interactive interpreter" for the C++ language, thus I figure it is something like "ipython" is for Python?


From what I understand, it's more like an interactive version of a "JVM" for C++. It's made possible due to the parser and the intermediate language and the JIT-optimizer being in completely separate modules. So you can enter C++ code and it will recompile, optimize and link behind the scenes on the fly.

CERN surely does HPC, but I bet their parallel codes were developed using MPI, which is a completely different technique and is supported by clang. Our codes rely both on MPI and OpenMP, and changing them to remove the dependency from the latter would be a huge (and useless) pain.


Well I wouldn't have thought you'd change your existing OpenMP code to MPI just for the sake of it. There's no reason for any code to move to clang just for the sake of it either. You'd probably want to try it out with a small MPI project rather than make a full commitment to clang just for the sake of it.

Reply Parent Score: 2