Building SCOREC Core
Acquiring Source Code
RPI maintains SCOREC Core, a set of C/C++ libraries for unstructured meshing and simulation pre-processing. The code base lives on a github page at https://github.com/SCOREC/core. To clone the source code, navigate to the desired directory and run
git clone https://github.com/SCOREC/core
General build instructions can be found at
https://github.com/SCOREC/core/wiki/General-Build-instructions
Building on Viz Nodes
As of 2017-04-26, SCOREC-core lives in
/projects/tools/SCOREC-core/build-viz003
It was built using
soft add +openmpi-gnu-2.1.0-gnu49-thread soft add +simmodsuite-11.0-170405dev (no soft add for gcc, meaning the default gcc 4.9.2 is used)
If you want to build you own, do the following.
- go to where you have checked out SCOREC/core (or check it out yourself) and sit in the directory above it
- soft add necessary dependencies (see above)
- cp ~kjansen/compilation
- mkdir build (or whatever descriptive name you like)
- cd build
- . ../compilation/env_ucb_gnu_dev17_rhel7
- ../compilation/doConfigure-dev17-rhel7 (this step has OS version dependencies)
- make -j
Note
In general, you have to rebuild the partitionwrapper to match the mpi version. Ben did that for openmpi210 for rhel7. This is a fairly easy process ( e.g., cp -r /usr/local/simmetrix/simmodsuite/11.0-170405dev/code/PartitionWrapper tmpdir; cd tmpdir; make -f Makefile.custom PARALLEL=omp210 CC=mpicc CXX=mpicxx -j 8;) but the tricky bit is that you have to copy this wrapper to a place that the SCOREC cmake tools for tools will “find” it. For now, on viz003, Ben has copied it to the location of the rest of the Simmetrix libraries and named it with an openmpi210 extension which I made match in ../compilation/doConfigure-dev17-rhel7 line 15. This works fine when you have been the person who copied or setup the libraries but less great if not.