-
Notifications
You must be signed in to change notification settings - Fork 0
Pretty Fast Analysis
License
dnlebard/pfa
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
############################################ ### ### ### README FOR COMPILING AND TESTING PFA ### ### ### ############################################ ############# ## LICENSE ## ############# This code is licensed under GPL Version 2. See the file LICENSE in the top directory of PFA for further information. ########### ## NOTES ## ########### This code has been tested using the GNU, Intel, and Portland Group FORTRAN compilers ONLY. Other fortran compilers may not necessarily lead to proper code generation, and could provide incorrect analysis results. Users are cautioned to test new compilers extensively for analysis accuracy and general parallel performance. ######################## ## REQUIRED LIBRARIES ## ######################## All versions: BLAS and LAPACK; MPI Parallel file I/O versions: MPI-IO GPU version only: Both the CUDA driver and toolkit ######################### ## DIRECTORY STRUCTURE ## ######################### $PFA_HOME - The main PFA directory $PFA_HOME/trunk - Sub-directory containing the main code trunk $PFA_HOME/tags - Sub-directory containing numbered versions of PFA $PFA_HOME/branch - Sub-directory containing branched versions of PFA $PFA_HOME/$SUB_DIR/src - Source code directory; one exists for each branch, tags, and trunk sub-directory. $PFA_HOME/test - Sub-directory for testing purposes $PFA_HOME/test/input - Contains the input files for the accuracy tests $PFA_HOME/test/ana - Will contain the output files from the accuracy tests $PFA_HOME/test/pbs - Contains the script files for the accuracy tests $PFA_HOME/test/output - Contains pre-made output files for the accuracy comparison ################################################## ## FILES IN THE '$PFA_HOME/trunk/src' DIRECTORY ## ################################################## Header files: SIZE.h, TOP.h, MISC.h Main PFA driver file: fastEner.f fastDef FORTRAN module file (preprocessed): fastDefines.F CUDA kernel files: *.cu AMBER readprm codes: readprm.f, nxtsec.f, checksz.f Misc. fortran code library: common.f90 makefile: driver file for the 'make' command ################################# ## PFA COMPILATION AND TESTING ## ################################# * Any text within brackets, <...>, should be provided by the user. The brackets themselves should be not be typed. * The symbol "$>" refers to a generic shell prompt. ------------------- - PFA COMPILATION - ------------------- [1] Setup the environment variable $PFA_HOME to point to the top-level PFA directory. Using BASH or TSH SHELL: $> export PFA_HOME = <FULL PATH OF PFA DIRECTORY> Using C SHELL: $> setenv PFA_HOME <FULL PATH OF PFA DIRECTORY> [2] Change the current working directory to $PFA_HOME/trunk. $> cd $PFA_HOME/trunk [3] Create a new working directory for compiling PFA. This directory should be at the same level as the $PFA_HOME/src sub-directory. Once created, change the current working directory to the newly created compilation directory. $> mkdir bin $> cd bin [4] Copy the makefile from the $PFA_HOME/trunk/src directory to the compilation directory. $> cp ../src/makefile . [5] Find the appropriate system type in the makefile that most closely matches your compute environment. Several compilation examples are provided as directives in the makefile including those for (i) large-scale supercomputers such as Kraken (kraken) at NICS and Ranger (ranger) at TACC, (ii) large-scale GPU clusters such as TACC's Longhorn (longhorn) and NCSA's Lincoln (lincoln), (iii) GPU workstations such as the author's GPU desktop (cmm), and (iv) CPU/GPU clusters such as the ICMS's Delta cluster at Temple University (delta). Make sure to load the required libraries into the $LD_LIBRARY_PATH environment variable. For large supercomputing centers, one must carefully load them using the correct module/library loading procedure. Be familiar with the library loading instructions provided by the supercomputing center as they tend to be more complicated than local clusters or stand-alone workstations. $> make <matching makefile directive> [6] Success! Now a compiled version of PFA exists in the $PFA_HOME/trunk/bin directory. Versions of PFA compiled for a CPU-only environment are typically given the name "pfa.cpu.e", while CUDA accelerated versions are referred to as "pfa.cuda.e". --------------- - PFA TESTING - --------------- [1] Change the current working directory to $PFA_HOME/test/pbs. $> $PFA_HOME/test/pbs [2] Then, edit the trp.pbs file to allow submission through your own portable batch queuing system. Currently, the file is setup to run on a combination of torque/maui, but slight changes to this file may be necessary due to the small differences in various batch queue systems. Three variables will need to be changed: TEST_DIR: It should point to the $PFA_HOME/test_dir directory. MPIEXEC: If mpiexec is not in the users $PATH, then set the full path to the 'mpiexec' command here. MPIOPTION: Set any options needed for normal operation of the 'mpiexec' command. [3] Submit the 'trp.pbs' file: $> qsub trp.pbs This will create a '$PFA_HOME/test_dir/pbs-output' directory, and will also create two files from the analysis to compare for consistency: pfa.out and enerCoul.dat. These should match the respective files in the $PFA_HOME/test_dir/sample-output' directory. However, this PBS script may not work for a particular batch system, and in this case you may need to contact your system's administrator for help installing mpiexec. If installing mpiexec is not an option, one may use the 'mpirun' command instead. For this, simply go to the $PFA_HOME/sample-input directory and type: $> mpirun -np <# of procs> ./pfa.<cpu or cuda>.e < pfa.in > pfa.out where <# of procs> should be an integer that divides evenly into 100 (1,10,100, etc.). ############################ ## USING THE PFA SOFTWARE ## ############################ For information regarding the PFA usage, please refer to the PFA User's Guide provided with the code. Additionally, one may post questions and concerns to the PFA User's Group at the electronic mail address at xxxx@xxxx.xxxx.
About
Pretty Fast Analysis
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published