Compiling Chef Summit

From PHASTA Wiki
Revision as of 09:52, 13 July 2020 by Mabl7046 (talk | contribs)
Jump to: navigation, search

Copy Simmetrix Libraries from Viz Nodes

Note that in order for Chef to operate, it must be compiled with the proper Simmetrix libraries. That is to say, there needs to be compatibility between Simmetrix and SCOREC-core for compilation of Chef to run smoothly. Please see https://fluid.colorado.edu/wiki/index.php/Building_SCOREC_Core for instructions on building SCOREC-core. An example (what worked for me) is provided through out the wiki. From the viz nodes (/projects/tools/SimmetrixTest), I ran

scp -r 14.0-190626beta/ <username>@login.rc.colorado.edu:<path>

to copy over the directory 14.0-190626beta/ to Summit.


Set Proper Environment

To start with a clean slate, run

module purge

This unloads all currently loaded modules.

Next, run

module load gcc/6.1.0
module load openmpi/2.0.1

Note that /6.1.0 and /2.0.1 can be swapped with the intended versions of gcc and openmpi the user intends on using.

Generate Partition Wrapper

After the directory is copied over to Summit and the environment is set, a Partition Wrapper needs to be generated. Go to:

<path>/14.0-190626beta/code/PartitionWrapper

and open the file

Makefile.custom

Obviously, 14.0-190626beta/ is a placeholder and any version of Simmetrix (i.e. the version you used to create the mesh) will work. In this example, I used open openmpi (A High Performance Message Passing Library). I also used mpicc and mpicxx as MPI-C and MPI-C++ compilers respectively. If this is what is intended, in the Makefile, set the following variables:

PQUAL:= -openmpi
CC:=/curc/sw/openmpi/2.0.1/gcc/6.1.0/bin/mpicc 
CXX:= /curc/sw/openmpi/2.0.1/gcc/6.1.0/bin/mpicxx

Notice the compatibility between the loaded modules and the directory structure above. Once this is set, in the terminal run

make -f Makefile.custom PARALLEL=openmpi

This will generate a file named libSimPartitionWrapper-openmpi.a. Then, run

chmod +x libSimPartitionWrapper-openmpi.a.

Once this is completed, copy this newly generated partition wrapper to ../../lib/x64_rhel7_gcc48/.


DoConfigure.sh.JPG