Commit 036c6d8e authored by Richard Angersbach's avatar Richard Angersbach
Browse files

CI: Check if par I/O is compatible with optimizations and parallelization...

CI: Check if par I/O is compatible with optimizations and parallelization (poly, vect, OMP, CSE, unrolling)
parent ee51b0d8
......@@ -292,32 +292,38 @@ test:Appl_OptFlow3D:
test:ParIO_CheckEquality_2D:
extends: .test_template_IO
tags:
- docker
- AVX2
script:
# 2D_Scalar_CheckEquality_ReadAfterWrite
- mkdir -p data/2D_Scalar_CheckEquality_ReadAfterWrite
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib 2D_Scalar_CheckEquality_ReadAfterWrite IOTest/2D_Scalar_CheckEquality_ReadAfterWrite.knowledge "IOTest/2D_Scalar_CheckEquality_ReadAfterWrite.exa4" "" 2 1 Platform/random.platform output
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib 2D_Scalar_CheckEquality_ReadAfterWrite IOTest/2D_Scalar_CheckEquality_ReadAfterWrite.knowledge "IOTest/2D_Scalar_CheckEquality_ReadAfterWrite.exa4" "" 2 1 Platform/anyavx2.platform output
# 2D_LayoutTrafo_CheckEquality_ReadAfterWrite
- mkdir -p data/2D_LayoutTrafo_CheckEquality_ReadAfterWrite
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib 2D_LayoutTrafo_CheckEquality_ReadAfterWrite IOTest/2D_LayoutTrafo_CheckEquality_ReadAfterWrite.knowledge "IOTest/2D_LayoutTrafo_CheckEquality_ReadAfterWrite.exa4" "" 2 1 Platform/random.platform output
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib 2D_LayoutTrafo_CheckEquality_ReadAfterWrite IOTest/2D_LayoutTrafo_CheckEquality_ReadAfterWrite.knowledge "IOTest/2D_LayoutTrafo_CheckEquality_ReadAfterWrite.exa4" "" 2 1 Platform/anyavx2.platform output
# 2D_Vector_CheckEquality_ReadAfterWrite
- mkdir -p data/2D_Vector_CheckEquality_ReadAfterWrite
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib 2D_Vector_CheckEquality_ReadAfterWrite IOTest/2D_Vector_CheckEquality_ReadAfterWrite.knowledge "IOTest/2D_Vector_CheckEquality_ReadAfterWrite.exa4" "" 4 1 Platform/random.platform output
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib 2D_Vector_CheckEquality_ReadAfterWrite IOTest/2D_Vector_CheckEquality_ReadAfterWrite.knowledge "IOTest/2D_Vector_CheckEquality_ReadAfterWrite.exa4" "" 4 1 Platform/anyavx2.platform output
test:ParIO_CheckEquality_3D:
extends: .test_template_IO
tags:
- docker
- AVX2
script:
# 3D_Matrix_CheckEquality_ReadAfterWrite
- mkdir -p data/3D_Matrix_CheckEquality_ReadAfterWrite
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib 3D_Matrix_CheckEquality_ReadAfterWrite IOTest/3D_Matrix_CheckEquality_ReadAfterWrite.knowledge "IOTest/3D_Matrix_CheckEquality_ReadAfterWrite.exa4" "" 4 1 Platform/random.platform output
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib 3D_Matrix_CheckEquality_ReadAfterWrite IOTest/3D_Matrix_CheckEquality_ReadAfterWrite.knowledge "IOTest/3D_Matrix_CheckEquality_ReadAfterWrite.exa4" "" 4 1 Platform/anyavx2.platform output
# 3D_Scalar_CheckEquality_ReadAfterWrite
- mkdir -p data/3D_Scalar_CheckEquality_ReadAfterWrite
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib 3D_Scalar_CheckEquality_ReadAfterWrite IOTest/3D_Scalar_CheckEquality_ReadAfterWrite.knowledge "IOTest/3D_Scalar_CheckEquality_ReadAfterWrite.exa4" "" 8 1 Platform/random.platform output
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib 3D_Scalar_CheckEquality_ReadAfterWrite IOTest/3D_Scalar_CheckEquality_ReadAfterWrite.knowledge "IOTest/3D_Scalar_CheckEquality_ReadAfterWrite.exa4" "" 8 1 Platform/anyavx2.platform output
# 3D_Vector_CheckEquality_ReadAfterWrite
- mkdir -p data/3D_Vector_CheckEquality_ReadAfterWrite
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib 3D_Vector_CheckEquality_ReadAfterWrite IOTest/3D_Vector_CheckEquality_ReadAfterWrite.knowledge "IOTest/3D_Vector_CheckEquality_ReadAfterWrite.exa4" "" 4 1 Platform/random.platform output
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib 3D_Vector_CheckEquality_ReadAfterWrite IOTest/3D_Vector_CheckEquality_ReadAfterWrite.knowledge "IOTest/3D_Vector_CheckEquality_ReadAfterWrite.exa4" "" 4 1 Platform/anyavx2.platform output
# CheckEquality_ReadAfterWrite
- mkdir -p data/CheckEquality_ReadAfterWrite
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib CheckEquality_ReadAfterWrite IOTest/CheckEquality_ReadAfterWrite.knowledge "IOTest/CheckEquality_ReadAfterWrite.exa4" "" 8 1 Platform/random.platform output
- python3 run_test.py ../Compiler/Compiler.jar:../Compiler/lib CheckEquality_ReadAfterWrite IOTest/CheckEquality_ReadAfterWrite.knowledge "IOTest/CheckEquality_ReadAfterWrite.exa4" "" 8 1 Platform/anyavx2.platform output
###############################################
......
......@@ -36,7 +36,7 @@ Globals {
Function compareFields@all () : Int {
// check for equality
loop over dest {
loop over dest sequentially {
Var diff : Real = fabs(dest - src)
if( condition && diff > 0.001 ) {
print("fields are not equal! src=", src, " dest=", dest)
......
......@@ -17,9 +17,16 @@ domain_rect_numFragsPerBlock_x = 1
domain_rect_numFragsPerBlock_y = 2
domain_rect_numFragsPerBlock_z = 1
omp_enabled = false
omp_numThreads = 1
omp_enabled = true
omp_numThreads = 2
mpi_enabled = true
mpi_numThreads = 2
omp_parallelizeLoopOverFragments = false
omp_parallelizeLoopOverFragments = true
omp_parallelizeLoopOverDimensions = false
poly_optLevel_fine = 3
opt_useAddressPrecalc = true
opt_vectorize = true
opt_unroll = 2
opt_conventionalCSE = true
opt_loopCarriedCSE = true
......@@ -32,7 +32,7 @@ Globals {
Function compareFields@all () : Int {
// check for equality
loop over dest {
loop over dest sequentially {
Var diff : Real = fabs(dest - src)
if( condition && diff > 0.001 ) {
print("fields are not equal! src=", src, " dest=", dest)
......
......@@ -17,9 +17,16 @@ domain_rect_numFragsPerBlock_x = 1
domain_rect_numFragsPerBlock_y = 2
domain_rect_numFragsPerBlock_z = 1
omp_enabled = false
omp_numThreads = 1
omp_enabled = true
omp_numThreads = 2
mpi_enabled = true
mpi_numThreads = 2
omp_parallelizeLoopOverFragments = false
omp_parallelizeLoopOverFragments = true
omp_parallelizeLoopOverDimensions = false
poly_optLevel_fine = 3
opt_useAddressPrecalc = true
opt_vectorize = true
opt_unroll = 2
opt_conventionalCSE = true
opt_loopCarriedCSE = true
\ No newline at end of file
......@@ -24,7 +24,7 @@ Field destVec < global, CellVecWithComm, None >@all
Function compareFields@finest ( ) : Int {
// check for equality
loop over destVec {
loop over destVec sequentially {
compare(srcVec, destVec, 0.001)
}
......
......@@ -17,9 +17,16 @@ domain_rect_numFragsPerBlock_x = 1
domain_rect_numFragsPerBlock_y = 1
domain_rect_numFragsPerBlock_z = 1
omp_enabled = false
omp_numThreads = 1
omp_enabled = true
omp_numThreads = 2
mpi_enabled = true
mpi_numThreads = 4
omp_parallelizeLoopOverFragments = false
omp_parallelizeLoopOverFragments = true
omp_parallelizeLoopOverDimensions = false
poly_optLevel_fine = 3
opt_useAddressPrecalc = true
opt_vectorize = true
opt_unroll = 2
opt_conventionalCSE = true
opt_loopCarriedCSE = true
......@@ -24,7 +24,7 @@ Field destMat < global, CellMatWithComm, None >@all
Function compareFields@finest ( ) : Int {
// check for equality
loop over destMat {
loop over destMat sequentially {
compare(srcMat, destMat, 0.001)
}
......
......@@ -17,9 +17,16 @@ domain_rect_numFragsPerBlock_x = 1
domain_rect_numFragsPerBlock_y = 1
domain_rect_numFragsPerBlock_z = 1
omp_enabled = false
omp_numThreads = 1
omp_enabled = true
omp_numThreads = 10
mpi_enabled = true
mpi_numThreads = 4
omp_parallelizeLoopOverFragments = false
omp_parallelizeLoopOverDimensions = false
omp_parallelizeLoopOverDimensions = true
poly_optLevel_fine = 3
opt_useAddressPrecalc = true
opt_vectorize = true
opt_unroll = 4
opt_conventionalCSE = true
opt_loopCarriedCSE = false
......@@ -24,7 +24,7 @@ Field dest< global, NodeWithComm, None >@all
Function compareFields@all ( ) : Int {
// check for equality
loop over dest {
loop over dest sequentially {
Var diff : Real = fabs(dest - src)
if( diff > 0.001 ) {
print("fields are not equal! src=", src, " dest=", dest)
......
......@@ -17,9 +17,16 @@ domain_rect_numFragsPerBlock_x = 2
domain_rect_numFragsPerBlock_y = 1
domain_rect_numFragsPerBlock_z = 1
omp_enabled = false
omp_numThreads = 1
omp_enabled = true
omp_numThreads = 2
mpi_enabled = true
mpi_numThreads = 8
omp_parallelizeLoopOverFragments = false
omp_parallelizeLoopOverDimensions = false
omp_parallelizeLoopOverDimensions = true
poly_optLevel_fine = 3
opt_useAddressPrecalc = true
opt_vectorize = true
opt_unroll = 2
opt_conventionalCSE = true
opt_loopCarriedCSE = true
......@@ -24,7 +24,7 @@ Field destVec < global, CellVecWithComm, None >@all
Function compareFields@finest ( ) : Int {
// check for equality
loop over destVec {
loop over destVec sequentially {
compare(srcVec, destVec, 0.001)
}
......
......@@ -17,10 +17,17 @@ domain_rect_numFragsPerBlock_x = 1
domain_rect_numFragsPerBlock_y = 1
domain_rect_numFragsPerBlock_z = 1
omp_enabled = false
omp_numThreads = 1
omp_enabled = true
omp_numThreads = 2
mpi_enabled = true
mpi_numThreads = 4
omp_parallelizeLoopOverFragments = false
omp_parallelizeLoopOverFragments = true
omp_parallelizeLoopOverDimensions = false
poly_optLevel_fine = 3
opt_useAddressPrecalc = true
opt_vectorize = true
opt_unroll = 2
opt_conventionalCSE = true
opt_loopCarriedCSE = true
......@@ -34,7 +34,7 @@ Field dest< global, NodeWithComm, 0.0 >@all
Function compareFields@all : Int {
// check for equality
loop over dest {
loop over dest sequentially {
Var diff : Real = fabs(dest - src)
if( diff > 0.001 ) {
print("fields are not equal! src=", src, " dest=", dest)
......
......@@ -18,9 +18,16 @@ domain_rect_numFragsPerBlock_x = 2
domain_rect_numFragsPerBlock_y = 1
domain_rect_numFragsPerBlock_z = 1
omp_enabled = false
omp_numThreads = 1
omp_enabled = true
omp_numThreads = 2
mpi_enabled = true
mpi_numThreads = 8
omp_parallelizeLoopOverFragments = false
omp_parallelizeLoopOverDimensions = false
omp_parallelizeLoopOverDimensions = true
poly_optLevel_fine = 3
opt_useAddressPrecalc = true
opt_vectorize = true
opt_unroll = 2
opt_conventionalCSE = true
opt_loopCarriedCSE = true
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment