Esta es la antigua web del Centro de Supercomputación de Galicia.

Nuestro nuevo web está disponible desde el 18 de Julio de 2011 en
https://www.cesga.es

Por favor, actualice sus enlaces y marcadores.


Esta web solo se mantiene con el fin de servir como histórico de noticias, cursos, ofertas de empleo publicadas, etc.. y/o documentación.

CESGA-Centro de Supercomputación de Galicia
Galego :: Español :: English
Centro de Supercomputacion de Galicia
Inicio » Cesga
Destacados

Conectados
266 visitantes
Total dende 21-12-05: 75391122 visitas
ISO 9001:2008

EXCELENCIA XESTIÓN

Accesibilidade

Gaussian98 PDF E-mail

Execución de Gaussian 98 nos ordenadores do CESGA

Para executar Gaussian 98 (http://www.gaussian.com/) en calquera dos ordenadores en donde se instalara no CESGA, é suficiente utilizar o comando

g98 ficheiro_de_entrada

Este comando definirá automaticamente as variables de entorno necesarias para a execución. Ademáis, non permite a execución en interactivo. Si necesita esa funcionalidade, contacte con  .

Axuste da memoria

Os ficheiros de entrada de Gaussian permiten a selección da memoria a utilizar para a resolución do problema a través da clave %mem situada antes de cada un dos links. Por exemplo,

%mem=6mw
#P HP/ST0-3G FORCE

A sintaxe deste comando é:

%mem=<numero><unidad>

donde número é a cantidade de memoria a utilizar (no exemplo 6) e unidad pode ser KB, MB, GB (cando a cantidade se expresa en Bytes) ó KW, MW, GW (cando se expresa en palabras. Unha palabra equivale a 8 bytes no HPC320 e no SUPERDOME)

En función do problema e da memoria seleccionada, Gaussian selecciona o modo de execución, que pode ser:

 

  • Directo. Todas as integrais necesarias para a resolución son calculadas cando se necesitan. É o modo por defecto.
  • Convencional. As integrais calcúlanse unha vez e acumúlanse en disco. Este sistema é máis lento que o directo, polo cal está desaconsellado.
  • InCore. As integrais necesarias acumúlanse en memoria (coidado, si se selecciona este método de cálculo, se non hai suficiente memoria o cálculo non se executará).
  • Semi-directo. Fundamentalmente utilizado en cálculos MP. É unha combinación do modo directo co convencional.

Nas probas realizadas viuse que o rendemento do software é fortemente dependente da selección de memoria que se realice, incrementándose notablemente si se reserva memoria innecesaria. As cantidades mínimas de memoria necesarias veñen dadas pola expresión:

M+2 NB2

Donde NB é número de bases do problema e M e unha cantidade en MW dada pola seguinte táboa (véxase o manual de Gaussian 98 para máis información):

Job Type

Highest Angular Momentum Basis Function

f functions

g functions

h functions

i functions

j functions

SCF Energies

8 MW

8 MW

18 MW

46 MW

~120 MW

SCF Gradients

8 MW

10 MW

32 MW

76 MW

 

SCF Frequencies

8 MW

18 MW

54 MW

 

 

MP2 Energies

8 MW

10 MW

20 MW

56 MW

~140 MW

MP2 Gradients

8 MW

12 MW

32 MW

76 MW

 

MP2 Frequencies

12 MW

20 MW

56 MW

 

 

 

Estas cantidades hanse de dividir por 2 cando se execute no SVG.


Tamén é posible utilizar o comando freqmem cuia sintaxe é:

freqmem number-of-atoms number-of-basis-functions
rhf/uhf conventional/direct sp/spd/spdf

Por exemplo,

SC1> freqmem 100 300 rhf direct spd
RHF direct frequencies with spd functions:
One pass requires 27.59 megawords.

Que indica que para calcular as frecuencias dun problema destas características é necesario un mínimo de 27.59 MW.

Almacenar integrais en memoria

Cando sexa posible, é preferible que as integrais se almacenen en memoria. Actualmente, na versión de Gaussian instalada no SUPERDOME e no HPC320 existe un límite de 16GB, co cal non será posible almacenar as integrais que necesiten máis memoria. Para obter o valor real necesario pódese executar un cálculo con pouca memoria (por exemplo, 6MW) solicitando que se realice InCore. Se as integrais necesarias para o cálculo non se poden almacenar en memoria, o cálculo párase aos poucos segundos cunha mensaxe como esta:

Could not store integrals in canonical form, short by 289038185 words

A cantidade expresada haberá que sumala á que fixamos e indicala como valor na clave %mem (si é inferior a 16GB, límite actual do Gaussian 98).

Si a cantidade de memoria necesaria é moderada (2-4GB) é preferible realizalo desta maneira, xa que o tempo de execución pode reducirse entre un tercio (véxase o exemplo) e un oitavo do necesario se se fai de forma directa.

Para grandes cálculos de enerxías e de gradentes utilizando os métodos AM1, PM3, NMDO e DFT existe a posibilidade de seleccionar a opción de sparse para almacenar as matrices. Esta clave aplica un corte para anular os valores moi pequenos (ver a descripción no manual de Gaussian 98 en http://doc.cesga.es/gaussian98/sparsek.htm)

 

Execución en paralelo

span class="texto">Gaussian 98 permite a execución en paralelo utilizando memoria compartida (único caso dispoñible no CESGA) ou memoria distribuida (por medio do paquete LINDA). Gaussian 98 ao executarse vai chamando a través de fork() aos diferentes links (ou overlays) que son necesarios para a execución do problema. Destes links, só están paralelizados algúns, entre os que se atopan os seguintes:

Link

Descrición

L502 Solución da ecuación SCF iterativa
L703 Derivadas primeira e segunda (spdf)
L914 Estados excitados de CI-singles, RPA y Zindo. Estabilidade SCF
L1002 Solución das ecuacións CPHF; cálculo de propiedades (como NMR)
L1110 Contribución das integrais de 2e a Fx

En xeral, tendo en conta isto, todos os cálculos de enerxía, de gradentes e de frecuencia a través de SCF (isto é, HF, DFT e CIS) xunto con TD-DFT están aceptablemente paralelizados, permitindo unha execución cunha alta eficiencia cando o número de procesadores está entre 2 e 4. Outros métodos, como Moller-Plesset, non melloran suficientemente cando se executa con máis dun procesador, polo que se desaconsella o seu uso neses casos.

Para executar en Gaussian 98 en paralelo hase de utilizar a clave %nproc no ficheiro de entrada ó - P - no ficheiro Default.Route. Por exemplo, para o caso anterior

 

%nproc=4
%mem=6mw
#P HP/STO-3G FORCE

O problema é que a memoria que require para executarse aumenta co número de procesadores. En xeral, a memoria mínima necesaria pódese calcular multiplicando o número de procesadores solicitados pola memoria necesaria para un só procesador (excluindo o espacio reservado a integrais no caso de que o cálculo sexa InCore). Unha aproximación experimental ven dada por C.P.Sosa en donde a memoria se pode axustar pola fórmula:

MN =M1 + 0.75*(N-1)*M1

Donde M1 é a memoria necesaria para un procesador e MNa memoria para a execución con N procesadores.

Se ten memoria suficiente para acumular as integrais en memoria (InCore) é posible que a gañancia por incluir máis procesadores sexa mínima. Por exemplo, para o problema seguinte con HF

 

#P HF/aug-cc-pVDZ Opt=CalcAll Test

Test

0 1
Al -0.9123310000 -0.9123310000 -0.9123310000
Al 0.9123310000 -0.9123310000 0.9123310000
Al 0.9123310000 0.9123310000 -0.9123310000
Al -0.9123310000 0.9123310000 0.9123310000
O 0.9071410000 0.9071410000 0.9071410000
O -0.9071410000 -0.9071410000 0.9071410000
O -0.9071410000 0.9071410000 -0.9071410000
O 0.9071410000 -0.9071410000 -0.9071410000
F -1.8524860000 -1.8524860000 -1.8524860000
F 1.8524860000 -1.8524860000 1.8524860000
F 1.8524860000 1.8524860000 -1.8524860000
F -1.8524860000 1.8524860000 1.8524860000

Os resultados obtidos no Superdome son:

Método

Tempo (Segundos)

Speedup

Speedup

Directo, 1 CPU

5938

1

 

InCore, 1 CPU

2380

2,49

1

InCore, 2 CPUs

1798

3.30

1.33


SpeedUp=Tempo1/Tempo2

Se ben con respecto ao cálculo directo, a inclusión de 2CPUs mellora novamente, esta mellora é só do 33% (é dicir, só un tercio da esperada).

Recomendacións

1. Axuste a memoria a utilizar o mellor que poida. Máis memoria non sempre significa mellor rendemento.

2. Para cálculos con HF, DFT, TD-DFT e CIS, se a memoria necesaria para o cálculo en InCore está dispoñible (xeralmente menos de 4GB), realice o cálculo desa forma. En caso contrario, faga o cálculo de forma directa (por defecto en Gaussian 98) con varios procesadores (entre 2 e 4. En SVG non solicite máis de 2, xa que o traballo fallará. En HPC320 non poden pedirse máis de 4.).

3. Non utilice varios procesadores para métodos combinados (como G3) ou para Moller-Plesset, xa que a gañancia é pouca ou casi nula.

4. Ao enviar o traballo a cola, asegúrese de solicitar correctamente o número de CPUs e a cantidade de memoria e de disco necesaria.

5. Ante cualquer problema que teña, non dubide en poñerse en contacto cos técnicos do CESGA a través da conta de correo  ou chamando directamente por teléfono.

 Referencias:

Actualizado ( 16.12.2005 )
Master HPC

CESGA APOIA

PRACE Award 2009

Itanium Alliance Award

Proxectos

Membro de Gelato

Acreditación EUGridPMA

Novidades
Dominio galego

ALERTA VIRUS MENSUAL

infoarrobacesga.es :: Telf.: +34 981 569810 - Fax: 981 594616 :: Avda. de Vigo s/n 15705, Santiago de Compostela.
CESGA