Merge branch 'new-test-server' into 'development'
New test server See merge request damask/DAMASK!291
This commit is contained in:
commit
3f1af182df
|
@ -48,30 +48,29 @@ variables:
|
||||||
# Names of module files to load
|
# Names of module files to load
|
||||||
# ===============================================================================================
|
# ===============================================================================================
|
||||||
# ++++++++++++ Compiler +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
# ++++++++++++ Compiler +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
IntelCompiler17_8: "Compiler/Intel/17.8 Libraries/IMKL/2017"
|
IntelCompiler19_1: "Compiler/Intel/19.1.2 Libraries/IMKL/2020"
|
||||||
IntelCompiler18_4: "Compiler/Intel/18.4 Libraries/IMKL/2018"
|
GNUCompiler10: "Compiler/GNU/10"
|
||||||
GNUCompiler8_2: "Compiler/GNU/8.2"
|
|
||||||
# ------------ Defaults ----------------------------------------------
|
# ------------ Defaults ----------------------------------------------
|
||||||
IntelCompiler: "$IntelCompiler18_4"
|
IntelCompiler: "$IntelCompiler19_1"
|
||||||
GNUCompiler: "$GNUCompiler8_2"
|
GNUCompiler: "$GNUCompiler10"
|
||||||
# ++++++++++++ MPI ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
# ++++++++++++ MPI ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
IMPI2018Intel18_4: "MPI/Intel/18.4/IntelMPI/2018"
|
IMPI2020Intel19_1: "MPI/Intel/19.1.2/IntelMPI/2019"
|
||||||
MPICH3_3GNU8_2: "MPI/GNU/8.2/MPICH/3.3"
|
OMPI4_0GNU10: "MPI/GNU/10/OpenMPI/4.0.5"
|
||||||
# ------------ Defaults ----------------------------------------------
|
# ------------ Defaults ----------------------------------------------
|
||||||
MPICH_Intel: "$IMPI2018Intel18_4"
|
MPI_Intel: "$IMPI2020Intel19_1"
|
||||||
MPICH_GNU: "$MPICH3_3GNU8_2"
|
MPI_GNU: "$OMPI4_0GNU10"
|
||||||
# ++++++++++++ PETSc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
# ++++++++++++ PETSc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
PETSc3_10_3IMPI2018Intel18_4: "Libraries/PETSc/3.10.3/Intel-18.4-IntelMPI-2018"
|
PETSc3_14_0IMPI2020Intel19_1: "Libraries/PETSc/3.14.0/Intel-19.1.2-IntelMPI-2019"
|
||||||
PETSc3_10_3MPICH3_3GNU8_2: "Libraries/PETSc/3.10.3/GNU-8.2-MPICH-3.3"
|
PETSc3_14_0OMPI4_0GNU10: "Libraries/PETSc/3.14.0/GNU-10-OpenMPI-4.0.5"
|
||||||
# ------------ Defaults ----------------------------------------------
|
# ------------ Defaults ----------------------------------------------
|
||||||
PETSc_MPICH_Intel: "$PETSc3_10_3IMPI2018Intel18_4"
|
PETSc_Intel: "$PETSc3_14_0IMPI2020Intel19_1"
|
||||||
PETSc_MPICH_GNU: "$PETSc3_10_3MPICH3_3GNU8_2"
|
PETSc_GNU: "$PETSc3_14_0OMPI4_0GNU10"
|
||||||
# ++++++++++++ commercial FEM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
# ++++++++++++ commercial FEM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
MSC2019_1: "FEM/MSC/2019.1"
|
MSC2020: "FEM/MSC/2020"
|
||||||
# ------------ Defaults ----------------------------------------------
|
# ------------ Defaults ----------------------------------------------
|
||||||
MSC: "$MSC2019_1"
|
MSC: "$MSC2020"
|
||||||
IntelMarc: "$IntelCompiler17_8"
|
IntelMarc: "$IntelCompiler19_1"
|
||||||
HDF5Marc: "HDF5/1.10.5/Intel-17.8"
|
HDF5Marc: "HDF5/1.12.0/Intel-19.1.2"
|
||||||
|
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
checkout:
|
checkout:
|
||||||
|
@ -181,7 +180,7 @@ Post_OrientationAverageMisorientation:
|
||||||
compile_grid_Intel:
|
compile_grid_Intel:
|
||||||
stage: compile
|
stage: compile
|
||||||
script:
|
script:
|
||||||
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
|
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
|
||||||
- cd pytest
|
- cd pytest
|
||||||
- pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_Intel
|
- pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_Intel
|
||||||
except:
|
except:
|
||||||
|
@ -191,7 +190,7 @@ compile_grid_Intel:
|
||||||
compile_mesh_Intel:
|
compile_mesh_Intel:
|
||||||
stage: compile
|
stage: compile
|
||||||
script:
|
script:
|
||||||
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
|
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
|
||||||
- cd pytest
|
- cd pytest
|
||||||
- pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_Intel
|
- pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_Intel
|
||||||
except:
|
except:
|
||||||
|
@ -201,7 +200,7 @@ compile_mesh_Intel:
|
||||||
compile_grid_GNU:
|
compile_grid_GNU:
|
||||||
stage: compile
|
stage: compile
|
||||||
script:
|
script:
|
||||||
- module load $GNUCompiler $MPICH_GNU $PETSc_MPICH_GNU
|
- module load $GNUCompiler $MPI_GNU $PETSc_GNU
|
||||||
- cd pytest
|
- cd pytest
|
||||||
- pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_GNU
|
- pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_GNU
|
||||||
except:
|
except:
|
||||||
|
@ -211,7 +210,7 @@ compile_grid_GNU:
|
||||||
compile_mesh_GNU:
|
compile_mesh_GNU:
|
||||||
stage: compile
|
stage: compile
|
||||||
script:
|
script:
|
||||||
- module load $GNUCompiler $MPICH_GNU $PETSc_MPICH_GNU
|
- module load $GNUCompiler $MPI_GNU $PETSc_GNU
|
||||||
- cd pytest
|
- cd pytest
|
||||||
- pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_GNU
|
- pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_GNU
|
||||||
except:
|
except:
|
||||||
|
@ -231,7 +230,7 @@ compile_MARC:
|
||||||
setup_grid:
|
setup_grid:
|
||||||
stage: compile
|
stage: compile
|
||||||
script:
|
script:
|
||||||
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
|
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
|
||||||
- BUILD_DIR=$(mktemp -d)
|
- BUILD_DIR=$(mktemp -d)
|
||||||
- cd ${BUILD_DIR}
|
- cd ${BUILD_DIR}
|
||||||
- cmake -DDAMASK_SOLVER=GRID -DCMAKE_INSTALL_PREFIX=${DAMASKROOT} ${DAMASKROOT}
|
- cmake -DDAMASK_SOLVER=GRID -DCMAKE_INSTALL_PREFIX=${DAMASKROOT} ${DAMASKROOT}
|
||||||
|
@ -243,7 +242,7 @@ setup_grid:
|
||||||
setup_mesh:
|
setup_mesh:
|
||||||
stage: compile
|
stage: compile
|
||||||
script:
|
script:
|
||||||
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
|
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
|
||||||
- BUILD_DIR=$(mktemp -d)
|
- BUILD_DIR=$(mktemp -d)
|
||||||
- cd ${BUILD_DIR}
|
- cd ${BUILD_DIR}
|
||||||
- cmake -DDAMASK_SOLVER=MESH -DCMAKE_INSTALL_PREFIX=${DAMASKROOT} ${DAMASKROOT}
|
- cmake -DDAMASK_SOLVER=MESH -DCMAKE_INSTALL_PREFIX=${DAMASKROOT} ${DAMASKROOT}
|
||||||
|
@ -256,7 +255,7 @@ setup_mesh:
|
||||||
Pytest_grid:
|
Pytest_grid:
|
||||||
stage: grid
|
stage: grid
|
||||||
script:
|
script:
|
||||||
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
|
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
|
||||||
- cd pytest
|
- cd pytest
|
||||||
- pytest -k 'not compile' --basetemp=${TESTROOT}/fortran -v
|
- pytest -k 'not compile' --basetemp=${TESTROOT}/fortran -v
|
||||||
except:
|
except:
|
||||||
|
@ -342,7 +341,7 @@ Marc_elementLib:
|
||||||
SpectralRuntime:
|
SpectralRuntime:
|
||||||
stage: performance
|
stage: performance
|
||||||
script:
|
script:
|
||||||
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
|
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
|
||||||
- cd $DAMASKROOT
|
- cd $DAMASKROOT
|
||||||
- make clean grid processing OPTIMIZATION=AGGRESSIVE
|
- make clean grid processing OPTIMIZATION=AGGRESSIVE
|
||||||
- cd $LOCAL_HOME/performance # location of old results
|
- cd $LOCAL_HOME/performance # location of old results
|
||||||
|
|
2
PRIVATE
2
PRIVATE
|
@ -1 +1 @@
|
||||||
Subproject commit 803cf6bd65655159cb2f9a5de81d008ab75e061c
|
Subproject commit 73cb2f63397dfb8551fa5d8cb444eb89b2d3712a
|
|
@ -2,4 +2,4 @@
|
||||||
set DAMASK_NUM_THREADS = 4
|
set DAMASK_NUM_THREADS = 4
|
||||||
|
|
||||||
set MSC_ROOT = /opt/msc
|
set MSC_ROOT = /opt/msc
|
||||||
set MSC_VERSION = 2019.1
|
set MSC_VERSION = 2020
|
||||||
|
|
|
@ -7,6 +7,7 @@ import xml.etree.ElementTree as ET
|
||||||
import xml.dom.minidom
|
import xml.dom.minidom
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from functools import partial
|
from functools import partial
|
||||||
|
from collections import defaultdict
|
||||||
|
|
||||||
import h5py
|
import h5py
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
@ -1239,6 +1240,8 @@ class Result:
|
||||||
delta.text="{} {} {}".format(*(self.size/self.grid))
|
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:
|
with h5py.File(self.fname,'r') as f:
|
||||||
attributes.append(ET.SubElement(grid, 'Attribute'))
|
attributes.append(ET.SubElement(grid, 'Attribute'))
|
||||||
attributes[-1].attrib={'Name': 'u / m',
|
attributes[-1].attrib={'Name': 'u / m',
|
||||||
|
@ -1259,14 +1262,14 @@ class Result:
|
||||||
shape = f[name].shape[1:]
|
shape = f[name].shape[1:]
|
||||||
dtype = f[name].dtype
|
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
|
prec = f[name].dtype.itemsize
|
||||||
unit = f[name].attrs['Unit'] if h5py3 else f[name].attrs['Unit'].decode()
|
unit = f[name].attrs['Unit'] if h5py3 else f[name].attrs['Unit'].decode()
|
||||||
|
|
||||||
attributes.append(ET.SubElement(grid, 'Attribute'))
|
attributes.append(ET.SubElement(grid, 'Attribute'))
|
||||||
attributes[-1].attrib={'Name': name.split('/',2)[2]+f' / {unit}',
|
attributes[-1].attrib={'Name': name.split('/',2)[2]+f' / {unit}',
|
||||||
'Center': 'Cell',
|
'Center': 'Cell',
|
||||||
'AttributeType': {():'Scalar',(3):'Vector',(3,3):'Tensor'}[shape]}
|
'AttributeType': type_map[shape]}
|
||||||
data_items.append(ET.SubElement(attributes[-1], 'DataItem'))
|
data_items.append(ET.SubElement(attributes[-1], 'DataItem'))
|
||||||
data_items[-1].attrib={'Format': 'HDF',
|
data_items[-1].attrib={'Format': 'HDF',
|
||||||
'NumberType': 'Float',
|
'NumberType': 'Float',
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module spectral_utilities
|
module spectral_utilities
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
|
|
||||||
#include <petsc/finclude/petscsys.h>
|
#include <petsc/finclude/petscsys.h>
|
||||||
use PETScSys
|
use PETScSys
|
||||||
|
|
||||||
|
@ -14,6 +15,7 @@ module spectral_utilities
|
||||||
use math
|
use math
|
||||||
use rotations
|
use rotations
|
||||||
use IO
|
use IO
|
||||||
|
use config
|
||||||
use discretization_grid
|
use discretization_grid
|
||||||
use discretization
|
use discretization
|
||||||
use homogenization
|
use homogenization
|
||||||
|
|
|
@ -17,8 +17,8 @@ module math
|
||||||
#if __INTEL_COMPILER >= 1900
|
#if __INTEL_COMPILER >= 1900
|
||||||
! do not make use associated entities available to other modules
|
! do not make use associated entities available to other modules
|
||||||
private :: &
|
private :: &
|
||||||
prec, &
|
IO, &
|
||||||
IO
|
config
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
real(pReal), parameter :: PI = acos(-1.0_pReal) !< ratio of a circle's circumference to its diameter
|
real(pReal), parameter :: PI = acos(-1.0_pReal) !< ratio of a circle's circumference to its diameter
|
||||||
|
|
|
@ -12,11 +12,11 @@ module FEM_utilities
|
||||||
use PETScis
|
use PETScis
|
||||||
|
|
||||||
use prec
|
use prec
|
||||||
use FEsolving
|
|
||||||
use homogenization
|
|
||||||
use config
|
use config
|
||||||
use math
|
use math
|
||||||
|
use IO
|
||||||
use discretization_mesh
|
use discretization_mesh
|
||||||
|
use homogenization
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
private
|
private
|
||||||
|
|
|
@ -50,7 +50,11 @@ subroutine parallelization_init
|
||||||
if (threadLevel<MPI_THREAD_FUNNELED) error stop 'MPI library does not support OpenMP'
|
if (threadLevel<MPI_THREAD_FUNNELED) error stop 'MPI library does not support OpenMP'
|
||||||
#endif
|
#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)
|
CHKERRQ(petsc_err)
|
||||||
|
|
||||||
#if defined(DEBUG) && defined(__INTEL_COMPILER)
|
#if defined(DEBUG) && defined(__INTEL_COMPILER)
|
||||||
|
|
Loading…
Reference in New Issue