Difference between revisions of "GULP"

From UFRC
Jump to navigation Jump to search
m (Text replacement - "#lowercase" to "lc")
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
[[Category:Software]]
 +
{|<!--CONFIGURATION: REQUIRED-->
 +
|{{#vardefine:app|GULP}}
 +
|{{#vardefine:url|http://projects.ivec.org/gulp/}}
 +
<!--CONFIGURATION: OPTIONAL (|1}} means it's ON)-->
 +
|{{#vardefine:conf|}}          <!--CONFIGURATION-->
 +
|{{#vardefine:exe|}}            <!--ADDITIONAL INFO-->
 +
|{{#vardefine:pbs|}}            <!--PBS SCRIPTS-->
 +
|{{#vardefine:policy|}}        <!--POLICY-->
 +
|{{#vardefine:testing|}}      <!--PROFILING-->
 +
|{{#vardefine:faq|}}            <!--FAQ-->
 +
|{{#vardefine:citation|1}}      <!--CITATION-->
 +
|{{#vardefine:installation|}} <!--INSTALLATION-->
 +
|}
 +
<!--BODY-->
 +
<!--Description-->
 +
{{#if: {{#var: url}}|
 +
{{App_Description|app={{#var:app}}|url={{#var:url}}|name={{#var:app}}}}|}}
 +
 
GULP is a program for performing a variety of types of simulation on materials using boundary conditions of 0-D (molecules and clusters), 1-D (polymers), 2-D (surfaces, slabs and grain boundaries), or 3-D (periodic solids).  
 
GULP is a program for performing a variety of types of simulation on materials using boundary conditions of 0-D (molecules and clusters), 1-D (polymers), 2-D (surfaces, slabs and grain boundaries), or 3-D (periodic solids).  
 +
<!--Modules-->
 +
==Required Modules==
 +
===Serial===
 +
* intel
 +
* {{lc:{{#var:app}}}}
  
==Software Location==
+
===Parallel===
The software is located on the system in the following location:
+
* intel
<pre>
+
* openmpi
/apps/gulp
+
* {{lc:{{#var:app}}}}
</pre>
 
==Compilation on 64-bit Systems with Intel compiler==
 
When I tried to compile the GULP software on the cluster, the
 
compilation went quite smoothly (with the exception of a couple of extra
 
characters in format specifications in a couple of files... they are
 
ignored by the fortran compiler, but it would be nice if those were
 
cleaned up sometime so that the compile is truly clean... I have diffs
 
of the four files that have this problem if you want).
 
 
 
The problem came about with execution of the software, which failed
 
miserably with the following error:
 
<pre>
 
forrtl: error (69): process interrupted (SIGINT)
 
</pre>
 
I then proceeded to compile the software with debug enabled (by the way,
 
doing a make gulp_debug appears to be broken) and ran it through the
 
debugger. The line it was breaking on each time seemed very innocent:
 
<pre>
 
(channels.F:L103)
 
        if (nunit.lt.0) nunit = - nunit
 
</pre>
 
In a comment above this you mention that taking abs(nunit) crashes on a
 
DEC. Well, this appears to crash on x86_64. I never tried using
 
abs(nunit) as I figured the code you had should just work, so I thought
 
that something else must be wrong.
 
 
 
That was when I started messing with optimization levels of the code. I
 
first turned optimization off completely, and the code worked fine with
 
test input. I then started ramping up the optimizations only to find
 
that optimization of any level on the standard files would break the
 
program at this point.
 
  
As it stands now, the optimizations I currently have in the file
+
==System Variables==
getmachine are as follow:
+
* HPC_{{uc:{{#var:app}}}}_DIR
<pre>
+
* HPC_{{uc:{{#var:app}}}}_BIN
# Intel compiler
+
<!--Configuration-->
                echo 'OPT=-O0 -mp1 ' > makefile
+
{{#if: {{#var: conf}}|==Configuration==
                echo 'OPT1=-O1 ' >> makefile
+
See the [[{{PAGENAME}}_Configuration]] page for {{#var: app}} configuration details.
 +
|}}
 +
<!--Run-->
 +
{{#if: {{#var: exe}}|==Additional Information==
 +
WRITE_ADDITIONAL_INSTRUCTIONS_ON_RUNNING_THE_SOFTWARE_IF_NECESSARY
 +
|}}
 +
<!--PBS scripts-->
 +
{{#if: {{#var: pbs}}|==PBS Script Examples==
 +
See the [[{{PAGENAME}}_PBS]] page for {{#var: app}} PBS script examples.
 +
|}}
 +
<!--Policy-->
 +
{{#if: {{#var: policy}}|==Usage Policy==
 +
WRITE USAGE POLICY HERE (Licensing, usage, access).
 +
|}}
 +
<!--Performance-->
 +
{{#if: {{#var: testing}}|==Performance==
 +
WRITE_PERFORMANCE_TESTING_RESULTS_HERE
 +
|}}
 +
<!--Faq-->
 +
{{#if: {{#var: faq}}|==FAQ==
 +
*'''Q:''' **'''A:'''|}}
 +
<!--Citation-->
 +
{{#if: {{#var: citation}}|==Citation==
 +
If you publish research that uses {{#var:app}} you have to cite it as follows:
  
</pre>
+
* GULP - a computer program for the symmetry adapted simulation of solids, J.D. Gale, JCS Faraday Trans., 93, 629 (1997)
I then thought to myself that there must be a way to get better
+
* Empirical potential derivation for ionic materials, J.D. Gale, Phil. Mag. B, 73, 3, (1996)
optimization than this, so I specifically singled out channels.F and
+
* The General Utility Lattice Program, J.D. Gale and A.L. Rohl, Mol. Simul., 29, 291-341 (2003)
reduced the optimization on that particular file to nothing, while
+
* GULP: Capabilities and prospects, J.D. Gale, Z. Krist., 220, 552-554 (2005)
leaving the rest at -O3. This just propagated the fault to a new file.
+
|}}
It was at this point I gave up as I don't have the time to chase this
+
<!--Installation-->
down through all of the different files, so leaving a good portion of
+
{{#if: {{#var: installation}}|==Installation==
the code un-optimized is my current option.
+
See the [[{{PAGENAME}}_Install]] page for {{#var: app}} installation notes.|}}
 +
<!--Turn the Table of Contents and Edit paragraph links ON/OFF-->
 +
__NOTOC____NOEDITSECTION__
 +
=Validation=
 +
* Validated 4/5/2018

Revision as of 21:31, 6 December 2019

Description

GULP website  

GULP is a program for performing a variety of types of simulation on materials using boundary conditions of 0-D (molecules and clusters), 1-D (polymers), 2-D (surfaces, slabs and grain boundaries), or 3-D (periodic solids).

Required Modules

Serial

  • intel
  • gulp

Parallel

  • intel
  • openmpi
  • gulp

System Variables

  • HPC_GULP_DIR
  • HPC_GULP_BIN




Citation

If you publish research that uses GULP you have to cite it as follows:

  • GULP - a computer program for the symmetry adapted simulation of solids, J.D. Gale, JCS Faraday Trans., 93, 629 (1997)
  • Empirical potential derivation for ionic materials, J.D. Gale, Phil. Mag. B, 73, 3, (1996)
  • The General Utility Lattice Program, J.D. Gale and A.L. Rohl, Mol. Simul., 29, 291-341 (2003)
  • GULP: Capabilities and prospects, J.D. Gale, Z. Krist., 220, 552-554 (2005)


Validation

  • Validated 4/5/2018