Merge branch 'new-test-server' into 'development'

New test server

See merge request damask/DAMASK!291
This commit is contained in:
Francisco Jose Gallardo Basile 2020-12-01 11:55:42 +01:00
commit 3f1af182df
8 changed files with 43 additions and 35 deletions

View File

@ -48,30 +48,29 @@ variables:
# Names of module files to load
# ===============================================================================================
# ++++++++++++ Compiler +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IntelCompiler17_8: "Compiler/Intel/17.8 Libraries/IMKL/2017"
IntelCompiler18_4: "Compiler/Intel/18.4 Libraries/IMKL/2018"
GNUCompiler8_2: "Compiler/GNU/8.2"
IntelCompiler19_1: "Compiler/Intel/19.1.2 Libraries/IMKL/2020"
GNUCompiler10: "Compiler/GNU/10"
# ------------ Defaults ----------------------------------------------
IntelCompiler: "$IntelCompiler18_4"
GNUCompiler: "$GNUCompiler8_2"
IntelCompiler: "$IntelCompiler19_1"
GNUCompiler: "$GNUCompiler10"
# ++++++++++++ MPI ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IMPI2018Intel18_4: "MPI/Intel/18.4/IntelMPI/2018"
MPICH3_3GNU8_2: "MPI/GNU/8.2/MPICH/3.3"
IMPI2020Intel19_1: "MPI/Intel/19.1.2/IntelMPI/2019"
OMPI4_0GNU10: "MPI/GNU/10/OpenMPI/4.0.5"
# ------------ Defaults ----------------------------------------------
MPICH_Intel: "$IMPI2018Intel18_4"
MPICH_GNU: "$MPICH3_3GNU8_2"
MPI_Intel: "$IMPI2020Intel19_1"
MPI_GNU: "$OMPI4_0GNU10"
# ++++++++++++ PETSc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PETSc3_10_3IMPI2018Intel18_4: "Libraries/PETSc/3.10.3/Intel-18.4-IntelMPI-2018"
PETSc3_10_3MPICH3_3GNU8_2: "Libraries/PETSc/3.10.3/GNU-8.2-MPICH-3.3"
PETSc3_14_0IMPI2020Intel19_1: "Libraries/PETSc/3.14.0/Intel-19.1.2-IntelMPI-2019"
PETSc3_14_0OMPI4_0GNU10: "Libraries/PETSc/3.14.0/GNU-10-OpenMPI-4.0.5"
# ------------ Defaults ----------------------------------------------
PETSc_MPICH_Intel: "$PETSc3_10_3IMPI2018Intel18_4"
PETSc_MPICH_GNU: "$PETSc3_10_3MPICH3_3GNU8_2"
PETSc_Intel: "$PETSc3_14_0IMPI2020Intel19_1"
PETSc_GNU: "$PETSc3_14_0OMPI4_0GNU10"
# ++++++++++++ commercial FEM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MSC2019_1: "FEM/MSC/2019.1"
MSC2020: "FEM/MSC/2020"
# ------------ Defaults ----------------------------------------------
MSC: "$MSC2019_1"
IntelMarc: "$IntelCompiler17_8"
HDF5Marc: "HDF5/1.10.5/Intel-17.8"
MSC: "$MSC2020"
IntelMarc: "$IntelCompiler19_1"
HDF5Marc: "HDF5/1.12.0/Intel-19.1.2"
###################################################################################################
checkout:
@ -181,7 +180,7 @@ Post_OrientationAverageMisorientation:
compile_grid_Intel:
stage: compile
script:
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
- cd pytest
- pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_Intel
except:
@ -191,7 +190,7 @@ compile_grid_Intel:
compile_mesh_Intel:
stage: compile
script:
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
- cd pytest
- pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_Intel
except:
@ -201,7 +200,7 @@ compile_mesh_Intel:
compile_grid_GNU:
stage: compile
script:
- module load $GNUCompiler $MPICH_GNU $PETSc_MPICH_GNU
- module load $GNUCompiler $MPI_GNU $PETSc_GNU
- cd pytest
- pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_GNU
except:
@ -211,7 +210,7 @@ compile_grid_GNU:
compile_mesh_GNU:
stage: compile
script:
- module load $GNUCompiler $MPICH_GNU $PETSc_MPICH_GNU
- module load $GNUCompiler $MPI_GNU $PETSc_GNU
- cd pytest
- pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_GNU
except:
@ -231,7 +230,7 @@ compile_MARC:
setup_grid:
stage: compile
script:
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
- BUILD_DIR=$(mktemp -d)
- cd ${BUILD_DIR}
- cmake -DDAMASK_SOLVER=GRID -DCMAKE_INSTALL_PREFIX=${DAMASKROOT} ${DAMASKROOT}
@ -243,7 +242,7 @@ setup_grid:
setup_mesh:
stage: compile
script:
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
- BUILD_DIR=$(mktemp -d)
- cd ${BUILD_DIR}
- cmake -DDAMASK_SOLVER=MESH -DCMAKE_INSTALL_PREFIX=${DAMASKROOT} ${DAMASKROOT}
@ -256,7 +255,7 @@ setup_mesh:
Pytest_grid:
stage: grid
script:
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
- cd pytest
- pytest -k 'not compile' --basetemp=${TESTROOT}/fortran -v
except:
@ -342,7 +341,7 @@ Marc_elementLib:
SpectralRuntime:
stage: performance
script:
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
- cd $DAMASKROOT
- make clean grid processing OPTIMIZATION=AGGRESSIVE
- cd $LOCAL_HOME/performance # location of old results

@ -1 +1 @@
Subproject commit 803cf6bd65655159cb2f9a5de81d008ab75e061c
Subproject commit 73cb2f63397dfb8551fa5d8cb444eb89b2d3712a

2
env/CONFIG vendored
View File

@ -2,4 +2,4 @@
set DAMASK_NUM_THREADS = 4
set MSC_ROOT = /opt/msc
set MSC_VERSION = 2019.1
set MSC_VERSION = 2020

View File

@ -7,6 +7,7 @@ import xml.etree.ElementTree as ET
import xml.dom.minidom
from pathlib import Path
from functools import partial
from collections import defaultdict
import h5py
import numpy as np
@ -1239,6 +1240,8 @@ class Result:
delta.text="{} {} {}".format(*(self.size/self.grid))
type_map = defaultdict(lambda:'Matrix', ( ((),'Scalar'), ((3,),'Vector'), ((3,3),'Tensor')) )
with h5py.File(self.fname,'r') as f:
attributes.append(ET.SubElement(grid, 'Attribute'))
attributes[-1].attrib={'Name': 'u / m',
@ -1259,14 +1262,14 @@ class Result:
shape = f[name].shape[1:]
dtype = f[name].dtype
if (shape not in [(), (3,), (3,3)]) or dtype != np.float64: continue
if dtype != np.float64: continue
prec = f[name].dtype.itemsize
unit = f[name].attrs['Unit'] if h5py3 else f[name].attrs['Unit'].decode()
attributes.append(ET.SubElement(grid, 'Attribute'))
attributes[-1].attrib={'Name': name.split('/',2)[2]+f' / {unit}',
'Center': 'Cell',
'AttributeType': {():'Scalar',(3):'Vector',(3,3):'Tensor'}[shape]}
'AttributeType': type_map[shape]}
data_items.append(ET.SubElement(attributes[-1], 'DataItem'))
data_items[-1].attrib={'Format': 'HDF',
'NumberType': 'Float',

View File

@ -5,6 +5,7 @@
!--------------------------------------------------------------------------------------------------
module spectral_utilities
use, intrinsic :: iso_c_binding
#include <petsc/finclude/petscsys.h>
use PETScSys
@ -14,6 +15,7 @@ module spectral_utilities
use math
use rotations
use IO
use config
use discretization_grid
use discretization
use homogenization

View File

@ -17,8 +17,8 @@ module math
#if __INTEL_COMPILER >= 1900
! do not make use associated entities available to other modules
private :: &
prec, &
IO
IO, &
config
#endif
real(pReal), parameter :: PI = acos(-1.0_pReal) !< ratio of a circle's circumference to its diameter

View File

@ -12,11 +12,11 @@ module FEM_utilities
use PETScis
use prec
use FEsolving
use homogenization
use config
use math
use IO
use discretization_mesh
use homogenization
implicit none
private

View File

@ -50,7 +50,11 @@ subroutine parallelization_init
if (threadLevel<MPI_THREAD_FUNNELED) error stop 'MPI library does not support OpenMP'
#endif
call PetscInitializeNoArguments(petsc_err) ! first line in the code according to PETSc manual
#if defined(DEBUG)
call PetscInitialize(PETSC_NULL_CHARACTER,petsc_err)
#else
call PetscInitializeNoArguments(petsc_err)
#endif
CHKERRQ(petsc_err)
#if defined(DEBUG) && defined(__INTEL_COMPILER)