Installing TCE

From HPCRL Wiki
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
== TCE Installation Instructions ==
+
=== Installing Un-fused Code ===
 
+
=== Installation ===
+
 
+
==== Installing Un-fused Code ====
+
  
 
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),
===== Select an Input File =====
+
==== Select an Input File ====
 
Input file:
 
Input file:
 
*    spin-adapted ccd:  ccd-sym.eq
 
*    spin-adapted ccd:  ccd-sym.eq
Line 15: Line 11:
 
*    spin-orbital ccsdt: None
 
*    spin-orbital ccsdt: None
  
===== Select Compiler Flags =====
+
==== Select Compiler Flags ====
  
 
Compile option: -o3 -m0 --symmetry
 
Compile option: -o3 -m0 --symmetry
  
===== Select Debugging Options =====
+
==== Select Debugging Options ====
 
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
Line 25: Line 21:
 
to false.
 
to false.
  
===== Edit Generated Code for Dense Mode operation =====
+
==== Edit Generated Code for Dense Mode operation ====
 
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.
  
===== Copy perm files =====
+
==== Copy perm files ====
 
  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.
  
==== Installing fused code ====
+
=== Installing fused code ===
  
 
To get the fused code, go to the fusion branch(tag:fusion_20061228)
 
To get the fused code, go to the fusion branch(tag:fusion_20061228)
  
===== Select Input File =====
+
==== Select Input File ====
  
 
*    spin-adapted ccd:  ccd-sym-disk.eq
 
*    spin-adapted ccd:  ccd-sym-disk.eq
 
*    spin-adapted ccsd: ccsd_marcel-disk.eq
 
*    spin-adapted ccsd: ccsd_marcel-disk.eq
  
===== Select Compiler Flags =====
+
==== Select Compiler Flags ====
 
Compile option:  -o4 -m1 -t1 -f1 --symmetry -nonfusiontiling
 
Compile option:  -o4 -m1 -t1 -f1 --symmetry -nonfusiontiling
  
===== Select Debuggins Options =====
+
==== Select Debugging Options ====
 
If you want to generate code with debug info, go to
 
If you want to generate code with debug info, go to
 
edu/ohio_state/cis/tce/symmetry, set Util.debugInfo in CodeGen.java and
 
edu/ohio_state/cis/tce/symmetry, set Util.debugInfo in CodeGen.java and
 
debugInfo in Util.java as true. Otherwise, set them to false.
 
debugInfo in Util.java as true. Otherwise, set them to false.
  
===== Notes =====
+
==== Notes ====
  
 
The fused code doesn't include perm info. There is no perm files for
 
The fused code doesn't include perm info. There is no perm files for
 
fused code.
 
fused code.
 
=== Input file: ===
 
  
 
=== Tips ===
 
=== Tips ===
  
 
---------------------------------------------------------------------
 
---------------------------------------------------------------------
Tip1: source files
+
 
 +
====Tip 1: source files====
 
Some programs have different implemental versions.
 
Some programs have different implemental versions.
 
I save these different versions in $NWCHEM/src/tce/back, when you
 
I save these different versions in $NWCHEM/src/tce/back, when you
Line 72: Line 67:
  
  
---------------------------------------------------------------------
+
====Tip 2: driver====
Tip2: driver
+
  
 
There are some variables in the ohio_tce_reformat.F, you need to change
 
There are some variables in the ohio_tce_reformat.F, you need to change
Line 85: Line 79:
  
  
------------------------------------------------------------------
+
 
Tip3: perm
+
====Tip 3: perm ====
 
The non-fusion codes need perm files in execution. You can find the
 
The non-fusion codes need perm files in execution. You can find the
 
corresponding perm files in $NWCHEM4.7/bin/LINUX64/perm.
 
corresponding perm files in $NWCHEM4.7/bin/LINUX64/perm.
Line 92: Line 86:
  
  
------------------------------------------------------------------
+
====Tip 4: OTCE====
Tip4: OTCE
+
 
To run non-fusion code, install the OTCE library by
 
To run non-fusion code, install the OTCE library by
 
$NWCHEM/src/tce/otce/GNUmakefile.nonfusion.
 
$NWCHEM/src/tce/otce/GNUmakefile.nonfusion.
Line 101: Line 94:
 
between fusion and non-fusion code.
 
between fusion and non-fusion code.
  
 
+
====Tip 5: input====
------------------------------------------------------------------
+
Tip5: input
+
 
The input files can be found in $NWCHEM4.7/bin/LINUX64/input.
 
The input files can be found in $NWCHEM4.7/bin/LINUX64/input.
 
Note that, for spin-adapted and spin-orbital programs, you need
 
Note that, for spin-adapted and spin-orbital programs, you need
Line 110: Line 101:
  
  
------------------------------------------------------------------
 
Detailed instructions:
 
  
1. Spin-Adapted CCD with fusion, all intermediate arrays are in memory
+
===Detailed instructions===
 +
 
 +
====Spin-Adapted CCD with fusion, all intermediate arrays are in memory====
 
* 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
Line 120: Line 111:
 
   (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)
 +
 +
====Spin-Adapted CCD with fusion, some intermediate arrays are on disk====
 +
* source: $NWCHEM/src/tce/back/ccd_sym.fusion.outofcore.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)
 +
 +
 +
====Spin-Adapted CCD without fusion====
 +
* source: $NWCHEM/src/tce/back/ccd_sym.nonfused.spin_adapted.F
 +
Copy it to  $NWCHEM/src/tce/ccd_sym.F for compilation
 +
 +
* Perm files: $NWCHEM/bin/LINUX64/perm/ccd
 +
* 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)
 +
 +
====Spin-Orbital CCD without fusion====
 +
 +
* source: $NWCHEM/src/tce/back/spin_ccd.F
 +
Copy it to  $NWCHEM/src/tce/spin_ccd.F for compilation
 +
 +
* Perm files: $NWCHEM/bin/LINUX64/perm/orbital/ccd
 +
 +
* Input files:
 +
$NWCHEM/bin/LINUX64/input/h2o_ccd_spin_orbital.nw
 +
$NWCHEM/bin/LINUX64/input/c2h4_small_ccd_orbital.nw
 +
 +
 +
====Spin-Adapted CCSD with fusion====
 +
 +
* source: $NWCHEM/src/tce/back/ccsd.spin-adapted.fusion.F
 +
Copy it to  $NWCHEM/src/tce/ccsd.F for compilation
 +
 +
* Perm files: No perm files
 +
 +
* Input files:
 +
$NWCHEM/bin/LINUX64/input/h2o_ccsd.nw
 +
 +
 +
 +
====Spin-Adapted CCSD without fusion====
 +
 +
* source: $NWCHEM/src/tce/back/ccsd.spin-adapted.nofusion.F
 +
Copy it to  $NWCHEM/src/tce/ccsd.F for compilation
 +
 +
* Perm files:  $NWCHEM/bin/LINUX64/perm/ccsd
 +
 +
* Input files:
 +
$NWCHEM/bin/LINUX64/input/h2o_ccsd.nw

Revision as of 21:25, 13 December 2007

Contents

Installing Un-fused Code

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

Select an Input File

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

Select Compiler Flags

Compile option: -o3 -m0 --symmetry

Select Debugging Options

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.

Edit Generated Code for Dense Mode operation

The current TCE system can't generate correct dense code. I first generate code without --symmetry option, then manually change it.

Copy 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 code to execution directory.

Installing fused code

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

Select Input File

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

Select Compiler Flags

Compile option: -o4 -m1 -t1 -f1 --symmetry -nonfusiontiling

Select Debugging Options

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.

Notes

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

Tips


Tip 1: 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.


Tip 2: 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


Tip 3: 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.


Tip 4: 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.

Tip 5: 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

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)

Spin-Adapted CCD with fusion, some intermediate arrays are on disk

  • source: $NWCHEM/src/tce/back/ccd_sym.fusion.outofcore.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)


Spin-Adapted CCD without fusion

  • source: $NWCHEM/src/tce/back/ccd_sym.nonfused.spin_adapted.F

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

  • Perm files: $NWCHEM/bin/LINUX64/perm/ccd
  • 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)

Spin-Orbital CCD without fusion

  • source: $NWCHEM/src/tce/back/spin_ccd.F

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

  • Perm files: $NWCHEM/bin/LINUX64/perm/orbital/ccd
  • Input files:

$NWCHEM/bin/LINUX64/input/h2o_ccd_spin_orbital.nw $NWCHEM/bin/LINUX64/input/c2h4_small_ccd_orbital.nw


Spin-Adapted CCSD with fusion

  • source: $NWCHEM/src/tce/back/ccsd.spin-adapted.fusion.F

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

  • Perm files: No perm files
  • Input files:

$NWCHEM/bin/LINUX64/input/h2o_ccsd.nw


Spin-Adapted CCSD without fusion

  • source: $NWCHEM/src/tce/back/ccsd.spin-adapted.nofusion.F

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

  • Perm files: $NWCHEM/bin/LINUX64/perm/ccsd
  • Input files:

$NWCHEM/bin/LINUX64/input/h2o_ccsd.nw

Personal tools