Difference between revisions of "Compiling Chef Summit"

From PHASTA Wiki
Jump to: navigation, search
(Redirected page to Chef: Building#Summit (RMACC))
 
(9 intermediate revisions by one other user not shown)
Line 1: Line 1:
==Copy Simmetrix Libraries from Viz Nodes==
+
#REDIRECT [[Chef:_Building#Summit (RMACC)]]
 
 
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/.
 
 
 
 
 
[[File:Example.jpg]]
 

Latest revision as of 13:53, 13 July 2020