Installing TCE

From HPCRL Wiki
(Difference between revisions)
Jump to: navigation, search
Line 2: Line 2:
  
 
=== Installation ===
 
=== Installation ===
    The steps to compile the TCE code is listed in the following. I may
 
forget something. If you have some questions, pls send me an email.
 
  
 
To get the unfused code, go to the main branch(tag:release-08012005),
 
To get the unfused code, go to the main branch(tag:release-08012005),
(1) Input file:
+
# Input file:
 
     spin-adapted ccd:  ccd-sym.eq
 
     spin-adapted ccd:  ccd-sym.eq
 
     spin-adapted ccsd:  ccsd_marcel.eq
 
     spin-adapted ccsd:  ccsd_marcel.eq
Line 14: Line 12:
 
     spin-orbital ccsdt: None
 
     spin-orbital ccsdt: None
  
(2) Compile option: -o3 -m0 --symmetry
+
# Compile option: -o3 -m0 --symmetry
  
(3) If you want to generate code with debug info(print some intermedaite
+
# If you want to generate code with debug info(print some intermedaite
 
result in computation), go to edu/ohio_state/cis/tce/symmetry, set the
 
result in computation), go to edu/ohio_state/cis/tce/symmetry, set the
 
variable debugInfo as true in AllSymCodeGen.java. Otherwise, set it
 
variable debugInfo as true in AllSymCodeGen.java. Otherwise, set it
 
to false.
 
to false.
  
(4) The current TCE system can't generate correct dense code. I first
+
# The current TCE system can't generate correct dense code. I first
 
generate code without --symmetry option, then manually change it.
 
generate code without --symmetry option, then manually change it.
  
(5) The compiler will not only generate Fortran code, also only perm files
+
# The compiler will not only generate Fortran code, also only perm files
 
for intermediate arrays. You need to copy all perm files generated with
 
for intermediate arrays. You need to copy all perm files generated with
 
code to execution directory.
 
code to execution directory.
Line 100: Line 98:
 
* source: $NWCHEM/src/tce/back/ccd_sym.fusion.inmemory.F
 
* source: $NWCHEM/src/tce/back/ccd_sym.fusion.inmemory.F
 
Copy it to  $NWCHEM/src/tce/ccd_sym.F for compilation
 
Copy it to  $NWCHEM/src/tce/ccd_sym.F for compilation
 
 
* Perm files: No perm file
 
* Perm files: No perm file
 
* Input files:
 
* Input files:
 
   (smallest case): $NWCHEM/bin/LINUX64/input/test1.nw (O=5, V=2)
 
   (smallest case): $NWCHEM/bin/LINUX64/input/test1.nw (O=5, V=2)
 
   (largest case): $NWCHEM/bin/LINUX64/input/hex_med.nw (O=22, V=54)
 
   (largest case): $NWCHEM/bin/LINUX64/input/hex_med.nw (O=22, V=54)

Revision as of 20:40, 13 December 2007

TCE Installation Instructions

Installation

To get the unfused code, go to the main branch(tag:release-08012005),

  1. Input file:
   spin-adapted ccd:   ccd-sym.eq
   spin-adapted ccsd:  ccsd_marcel.eq
   spin-orbital ccd:   spin_ccd.eq
   spin-orbital ccsd:  None
   spin-adapted ccsdt: ccsdt_marcel.eq
   spin-orbital ccsdt: None
  1. Compile option: -o3 -m0 --symmetry
  1. If you want to generate code with debug info(print some intermedaite

result in computation), go to edu/ohio_state/cis/tce/symmetry, set the variable debugInfo as true in AllSymCodeGen.java. Otherwise, set it to false.

  1. The current TCE system can't generate correct dense code. I first

generate code without --symmetry option, then manually change it.

  1. The compiler will not only generate Fortran code, also only perm files

for intermediate arrays. You need to copy all perm files generated with code to execution directory.


To get the fused code, go to the fusion branch(tag:fusion_20061228) (1) Input file:

   spin-adapted ccd:  ccd-sym-disk.eq
   spin-adapted ccsd: ccsd_marcel-disk.eq

(2) Compile option: -o4 -m1 -t1 -f1 --symmetry -nonfusiontiling

(3) If you want to generate code with debug info, go to edu/ohio_state/cis/tce/symmetry, set Util.debugInfo in CodeGen.java and debugInfo in Util.java as true. Otherwise, set them to false.

(4) The fused code doesn't include perm info. There is no perm files for fused code.

Tips


Tip1: source files Some programs have different implemental versions. I save these different versions in $NWCHEM/src/tce/back, when you want to run a special version, you need to copy the file to $NWCHEM/src/tce and compile it. For example, all spin-adapted ccd programs are ccd_sym.F. If you want to use the non-fusion version, copy $NWCHEM/src/tce/back/ccd_sym.nonfused.spin_adapted.F to $NWCHEM/src/tce/ccd_sym.F.



Tip2: driver

There are some variables in the ohio_tce_reformat.F, you need to change them for different execution situations.

(1) spinmode

  if you want to run spin-adapted code, set spinmode=1
  if you want to run spin-orbital code, set spinmode=2

(2) maxiter: The maximal iteration for converge



Tip3: perm The non-fusion codes need perm files in execution. You can find the corresponding perm files in $NWCHEM4.7/bin/LINUX64/perm. You need to copy these files to execution directory for execution.



Tip4: OTCE To run non-fusion code, install the OTCE library by $NWCHEM/src/tce/otce/GNUmakefile.nonfusion. To run fusion code, install the OTCE library by $NWCHEM/src/tce/otce/GNUmakefile.fusion. Thus, you need to reinstall the OTCE library each time switching between fusion and non-fusion code.



Tip5: input The input files can be found in $NWCHEM4.7/bin/LINUX64/input. Note that, for spin-adapted and spin-orbital programs, you need different input files. For fusion and non-fusion programs, you can use the same input file.



Detailed instructions:

1. Spin-Adapted CCD with fusion, all intermediate arrays are in memory

  • source: $NWCHEM/src/tce/back/ccd_sym.fusion.inmemory.F

Copy it to $NWCHEM/src/tce/ccd_sym.F for compilation

  • Perm files: No perm file
  • Input files:
 (smallest case): $NWCHEM/bin/LINUX64/input/test1.nw (O=5, V=2)
 (largest case): $NWCHEM/bin/LINUX64/input/hex_med.nw (O=22, V=54)
Personal tools