Red de conocimiento informático - Problemas con los teléfonos móviles - configuración de instalación de wien2k

configuración de instalación de wien2k

Fuerza Ejecutiva/Corte Penal Internacional

Versión: 11.083. /configure-c = icpc-cc = ICC-f77 = ifort-f90 = ifort-prefix =/home/soft/MPI/mpich-1 7-Intel

Fabricación

<. p>hacer instalar vi ~/. bashrc

Agregue lo siguiente:

#############MPICH########

Ruta de exportación =/home/soft/MPI/mpich-1.2.7-Intel/bin:$PATH

##############Compilador Intel### #### #####

. /home/soft/Intel/Compiler/11.0/083/bin/Intel 64/ifortvars_Intel 64.sh

. /home/soft/Intel/Compiler/11.0/083/bin/Intel 64/ICC vars _ Intel 64 sh

#############Intel mkl##. ##########

Exportar LD _ LIBRARY _ PATH =/home/soft/Intel/mkl/10.1.2 024/lib/em64t/: $ LD _ LIBRARY _ PATH. tar zxf fftw-2.1.5 . tar . gz

cd fftw-2.1.5/

Exportar F77=ifort

Exportar CC=icc

. /configure-prefix =/home/soft/math lib/fftwv 215-mpich-enable-MPI

Realice

Realice la instalación para ingresar al directorio de usuario de instalación.

Su Meizhe

mkdir ~/WIEN2k_09

CP WIEN _ 2k . tar ~/WIEN cing k _ 09 CD ~/WIEN cing k _ 09

tar xf WIEN2k_09.tar

. /expand_lapw.

/siteconfig_lapw

Es necesario modificar varios parámetros de compilación: (consulte lo siguiente)

Especificar un sistema

K Linux (compilador Intel ifort 10.1 mkl 10.0)

Especificar el compilador

Selección actual: ifort

Selección actual: icc

Especificar las opciones del compilador BLAS y LAPACK

Configuración actual:

oOpciones del compilador: -FR-MP 1-w-prec_div-pc80-pad-align-DINTEL_VML-trace back

Enlace L Indicador de preprocesador: $( FOPT)-L/home/soft/Intel/mkl/10.1.2 024/lib/em64t/-pthread-I-static

pIndicador de preprocesador '-DParallel'

Mkl. la biblioteca usa estática:

R R _ LIB (LAPACK BLAS): /home/soft/Intel/mkl/10.1.2 024/LIB/em64t/libmkl _ LAPACK a/home/soft/Intel/. mkl/10.1.2 .024/LIB/em64t/LIB guía .a/home/soft/Intel/mkl/10.65438

Configuración de la ejecución paralela

¿Arquitectura de memoria compartida? (sí/no): no

Shell remoto (ssh predeterminado) = ssh

¿Ha instalado MPI y Scalapack y planea ejecutarlos?

De grano fino paralelismo? (¡Esto sólo es útil para casos grandes)!

(s/n) n

Selección actual: mpiifort

Configuración actual:

Usar biblioteca estática

RP RP_LIB(paquete Scala PBLAS): -lmkl_Intel_lp64/home/soft/Intel/mkl/10.1.2.024/LIB/em64t/libmkl_Scala pack_lp64.a/home/soft/Intel /mkl/10.1.2 024/LIB/em64t. /libmkl _ secuencial . a/home/soft

//

RP RP _ LIB (paquete Scala PBLAS): -lmkl _ Intel _ lp64/home/soft/Intel/mkl /10.1.2 024/LIB/em64t/libmkl _ paquete Scala _ lp64 . >

FP FPOPT (Opciones de comparación): USD (FOPT)

Comando MP MPIRUN: MPIRUN -NP_NP_-machine file_HOSTS_ _ EXEC _

Parámetros de tamaño

Esta parte puede usar el valor predeterminado o puede configurarse en (más de 4 GB de memoria).

Parámetros (NMATMAX= 30000)

Parámetros (NUME= 1000)

Ingrese la parte de compilación:

Compilar/Recompilar p>

Compilar todos los programas (recomendado)

Los errores se producirán principalmente al compilar los cinco archivos ejecutables de la versión paralela de mpi, por lo que debe verificar si existen los siguientes archivos después de la compilación:

. /SRC_lapw0/lapw0_mpi

. /SRC_vuelta1/vuelta1_MPI

. /SRC_lapw1/lapw1c_MPI

. /SRC_lapw2/lapw2_mpi

. /src_lap w2/law2c_mpi. /userconfig_lapw

La edición debería ser: vi

Los demás regresan al auto.

Modificar. Bashar comentó la siguiente línea:

#ulimit -s unlimited

Modificar opciones paralelas

setenvwien _ mpirun " mpirun-machine file _ hosts _ -NP _ NP _ _ exec _ "Abra el servicio apache como usuario root.

Se inicia el servicio apache2

Se ejecuta bajo usuario normal.

w2web

Abra el puerto 7890 como interfaz web de wien2k para el cálculo en serie:

Tome el TiC de ejemplo que viene con el sistema como ejemplo:

cd TiC

mkdir TiC

Propionato de celulosa../TiC.struct.

Generar información atómica:

instgen_lapw

Ejemplo de inicialización:

init_lapw–b

Cálculo:

run_lapw

Puedes ver los resultados de salida del programa en *output. Si hay errores, puedes verificarlos en TiC.dayfile.

Realizar cálculo paralelo:

Pruebe si el entorno paralelo está configurado:

testpara_lapw

Probar estado de cálculo de muestra:

testpara1_lapw

testpara2_lapw

Dependiendo de diferentes decisiones. Archivo de máquina, realice cálculo paralelo de punto K o mpi:

Punto K:

Granularidad: 1

1: Nodo 31: 1

1: Nodo 31: 1

1: Nodo 32: 1

1: Nodo 32: 1

lapw0: nodo31: 2 nodo32: 2

Ultra fino: 1

mpi:

Granularidad: 1

1: Nodo 31: 2

1: nodo32: 2

lapw0: nodo31: 2 nodo32: 2

Superfino: 1

Calcular:

run_lapw -p cat wien2k .pbs

######################################## #################################

# #

# Script para enviar el trabajo paralelo wien2k_09 al clúster Sugon.

#

# #

################################ # ########################################

# ## ################################################## ###################

# Las líneas que comienzan con #PBS son instrucciones de PBS (no comentarios).

# Los comentarios verdaderos comienzan con # (es decir, # seguido de un espacio).

########################################## # ###############################

#PBS -S /bin/bash

#PBS -N TiO2

#PBS -j oe

PBS -lNúmero de nodos=1: ppn=8

#PBS -V

############################################ ###############################

# -S: shell para ejecutar el trabajo

# -o: el nombre del archivo de error de la cola

# -j: fusionar la salida estándar y el error estándar en el mismo archivo

# -l: recursos necesarios por el trabajo: número de nodos y número de procesadores por nodo

# -l: Recursos requeridos por el trabajo: longitud máxima del trabajo

###### #### ############################################ ###### ###############

#########El modo paralelo es mpi/kpoint####### ###

PARALLEL=mpi//Indica paralelismo mpi o paralelismo del punto K.

echo $paralelo

################################ # ##############

NP = ` gato $ { PBS _ NODEFILE } | WC-l ` 1

NODE _ NUM = ` gato $ PBS _ NODEFILE | uniq | WC-l '

NP_PER_NODE=`expr $NP / $NODE_NUM '

username=`whoami '

exportar raíz de Viena =/home/users/mjhe/Wien 2k_09/

Ruta de exportación=$PATH:$WIENROOT:.

Wii nucing k _ RUNDIR =/scratch/$ { nombre de usuario }. ${PBS_JOBID}

exportar SCRATCH = $ { Wii nucing k _ RUNDIR }

#Crear directorio temporal

Si [! -a $Wien 2k_RUNDIR]; entonces

Se ha creado el directorio de preparación del eco $WIK_RUNDIR.

mkdir -p $WIEN2K_RUNDIR

El barco no corre con los gastos de carga

cd $PBS_O_WORKDIR

###### # ######Creando. Máquina#############

case$parallel-input

mpi)

Granularidad del eco: 1 gt;. máquina

Para i en `cat $PBS_NODEFILE |uniq '

hacer

echo 1: $I: $NP_PER_NODE gt; maquina

Completa

printf lap w0: gt; Máquina

#####lapw0 paralela con mpi# # # # # # # # #

Para I, en `cat ${PBS_NODEFILE}|uniq`

Hacer

printf $I: $NP_PER_NODE gt; Máquina

Completa

################################

####Ejemplo de informes de errores de lapw0 en paralelo con mpi Utilice el siguiente error de mpi lapw0######## # # #

# printf ` cat $ { PBS _ NODEFILE } | uniq | cabeza-1 `: 1 gt; Máquina

# # # # # # # # # # # # # # # # # # # # # # # #Fin

printf/n gt; Máquina

eco extra fino: 1 gt; máquina

;

kpoint)

Granularidad del eco: 1 gt;. máquina

Para I en "cat $PBS_NODEFILE"

hacer

echo 1: $I: 1 gt. maquina

Completa

printf lap w0: gt; Máquina

#####lapw0 paralela con mpi# # # # # # # # #

Para I, en `cat ${PBS_NODEFILE}|uniq`

Hacer

printf $I: $NP_PER_NODE gt; Máquina

Completa

################################

####Ejemplo de informes de errores de lapw0 en paralelo con mpi Utilice el siguiente error de mpi lapw0######## # # #

# printf ` cat $ { PBS _ NODEFILE } | uniq | cabeza-1 `: 1 gt; Máquina

# # # # # # # # # # # # # # # # # # # # # # # #Fin

printf/n gt; Máquina

eco extra fino: 1 gt;

Máquina

;;

Centro de aplicaciones de sistemas ambientales Centro de aplicaciones de sistemas ambientales

################Fin Crear ###########

#######Ejecute el ejecutable paralelo w induciendo k # # # # # # #

instgen_lapw

init_lapw -b

clean -s

echo #################La hora de inicio es `date` # #############

run_lapw -p

Eco ################# #El la hora de finalización es "fecha` ###############

rm -rf $WIEN2K_RUNDIR

######### # ##########End############

Las regiones que normalmente requieren modificación están resaltadas en negrita.

Este script puede implemente la inicialización de un ejemplo y debe realizarse bajo la premisa de *.struct CB65

Shanghai 2382: 16GB 147GB SAS

1000Gb/mpich v1.2.7

. p>

Ejemplo de dióxido de titanio:

NMATMAX=30000

2 proceso k puntos, mpi paralelo lapw0, k punto paralelo lapw1, módulo lapw2

4m44s

4 procesos k puntos, mpi paralelo lapw0, k puntos paralelo lapw1, módulo lapw2

4m30s

8 procesos k puntos, mpi paralelo lapw0, k. Haga clic en módulos paralelos lapw1, lapw2

6m29s

Módulos mpi de proceso dual, mpi paralelo lapw0, lapw1, lapw2

7m53s

Módulos mpi de 4 procesos, mpi paralelo lapw0, lapw1, lapw2

6m56s

Módulos mpi, mpi paralelo lapw0, lapw1, lapw2 de 8 procesos.

9m5s

Ejemplo de prueba estándar:

Ejemplo de prueba oficial:

Secuencia:

Caso de prueba p>

Exportar número de hilo OMP = 1

Tiempo x vuelta 1–c

Suma del tiempo del reloj de pared: 135,0 (INIT = 1,0 K puntos = 133,9)

Exportar número de subprocesos OMP = 4

Tiempo x vuelta 1–c

Suma del tiempo del reloj de pared: 62,0 (INIT = 1,0 K puntos = 61,0)

Recuento de subprocesos OMP de exportación = 8

Tiempo x vuelta 1–c

Suma de tiempo del reloj de pared: 56,2 (INIT = 1,0 K puntos = 55,2)

Paralelo:

Tiempo x vuelta 1–p

Caso de prueba

2k puntos:

test_case.output1: Muro Suma de tiempo de reloj: 62,0 (INIT = 1,0 K puntos = 61,0)

test_case .output 1_1: Suma de tiempo de reloj de pared: 138,5 (INIT = 1,0 K puntos = 137,5)

4k puntos :

test_case.output1: Suma del tiempo del reloj de pared: 62,0 (INIT = 1,0 K puntos = 61,0)

test_case.output1_1: Suma del tiempo del reloj de pared: 134,9 (INIT = 1,0 K puntos = 133,9)

Prueba de referencia mpi

2 proceso:

Salida de referencia MPI 1_1: TIME HAMILT(CPU)= 134,1, HNS = 116,4. , HORB = 0,0, DIAG = 697,5

Salida de referencia MPI 1 _ 1: Tiempo total de CPU: 950,0 (INIT = 1,9 K puntos = 948,1)

Salida de referencia MPI. 1 _ 1: Tiempo total del reloj de pared: 1138,9 (INIT = 2,2 K puntos = 1136,7)

4 proceso:

Salida de referencia MPI 1 _ 1: TIME HAMILT(CPU). = 67,8, HNS = 70,5, HORB = 0,0, DIAG = 420,6

Salida de referencia MPI 1_1: Tiempo total de CPU: 560,7 (INIT = 1,8 K puntos = 558,9)

MPI -benchmark salida 1 _ 1: suma de tiempo del reloj de pared: 643,2 (INIT = 2,2 K puntos = 640,9)

8 Proceso:

MPI-benchmark salida 1 _ 1: TIME. HAMILT (CPU) = 40,4, HNS = 44,9, HORB = 0,0, DIAG = 422,0

Salida de referencia MPI 1_1: Tiempo total de CPU: 509,3 (INIT = 1,9 K puntos = 507,4)

Salida de referencia MPI 1_1: Suma de tiempo del reloj de pared: 614,3 (INIT = 2,2 K puntos = 612,0)

16 procesos:

<

p>Salida de referencia MPI 1 _ 1: TIME HAMILT(CPU) = 22,6, HNS = 32,5, HORB = 0,0, DIAG = 140,5

Salida de referencia MPI 1 _ 1: Tiempo total de CPU: 197,5 (INIT = 1,9 K puntos = 195,7)

Salida de referencia MPI 1 _ 1: suma de los tiempos del reloj de pared: 1190,0 (INIT =2,8 K puntos = 1187,2)

Usted Puede usar grep TIME *output1* para mostrar el tiempo de cálculo.