|  |     | 
| (7 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 Chefto 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:DoConfigure.sh.JPG]]
 |  |