[Llvm-bgq-discuss] bgclang r203443-20140309 on vesta/mira

Hal Finkel hfinkel at anl.gov
Mon Mar 10 11:45:45 CDT 2014


Hello again,

I've updated our bgclang install on vesta and mira to r203443-20140309. A fair amount has changed, here's a summary:

 - First, we pick up the last month's work of upstream development work. Notably, this includes a feature I developed for the PowerPC backend to track boolean variables in individual CR bits. This is a major addition, and gives some nice performance improvements for control-flow dominated code, but if you want to turn it off, pass -mno-crbits to bgclang.

 - Second, I've rebased the OpenMP runtime library, and it is now derived from the latest version from LLVM's repository (and this version can be built by clang, not just gcc, and so the runtime library itself is now compiled by bgclang). This new version has some support for the new cancellation API (which I've not tried myself, but if someone is curious, please feel free to try it out and let us know if/how it works).

 - Third, I've changed the way that libc++, which is used by bgclang++11, is compiled. We need to use a configuration where both libc++ and libstdc++ can be linked together (because of dependencies in the BG/Q messaging implementation). We had been using a mode I had hacked up myself (because there was no upstream support), but now there is upstream support for this configuration, and we've switched to using the upstream method.

 - Use of LLVM's integrated assembler is now supported (and has full QPX support). You can pass -fintegrated-as to bgclang to try it out. There should be no observable difference in the output, but should be a little faster (in terms of compilation time).

For those maintaining their own installs, RPMs (and SRPMs) are available on the trac page: https://trac.alcf.anl.gov/projects/llvm-bgq

The upstream codebase has now switched to really requiring a compliant C++11 compiler and standard library in order to compile LLVM. As a result, the bgclang packages can no longer be built with the system g++, and so I've packaged a 'stage 1' clang/libcxx configuration, based on the 3.4 release, that is now used to build bgclang. I've updated the installation instructions on the website, but in short, you'll now need to install the 'stage 1' packages as well.

Thanks again,
Hal

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
_______________________________________________
llvm-bgq-discuss mailing list
llvm-bgq-discuss at lists.alcf.anl.gov
https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss
_______________________________________________
llvm-bgq-discuss mailing list
llvm-bgq-discuss at lists.alcf.anl.gov
https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss


More information about the llvm-bgq-discuss mailing list