diff --git a/env/DAMASK.sh b/env/DAMASK.sh index 335fb4a6b..c74c447ed 100644 --- a/env/DAMASK.sh +++ b/env/DAMASK.sh @@ -55,7 +55,8 @@ if [ ! -z "$PS1" ]; then || echo " ~~> "$(canonicalPath "$PETSC_DIR") fi [ "x$PETSC_ARCH" != "x" ] && echo "PETSc architecture $PETSC_ARCH" - [ "x$OMP_NUM_THREADS" != "x" ] && echo "Multithreading OMP_NUM_THREADS=$OMP_NUM_THREADS" + [ "x$OMP_NUM_THREADS" == "x" ] && export OMP_NUM_THREADS=4 + echo "Multithreading OMP_NUM_THREADS=$OMP_NUM_THREADS" echo -n "heap size " [[ "$(ulimit -d)" == "unlimited" ]] \ && echo "unlimited" \ diff --git a/env/DAMASK.zsh b/env/DAMASK.zsh index c4c7b705c..5813d110a 100644 --- a/env/DAMASK.zsh +++ b/env/DAMASK.zsh @@ -45,7 +45,8 @@ if [ ! -z "$PS1" ]; then || echo " ~~> "$(canonicalPath "$PETSC_DIR") fi [[ "x$PETSC_ARCH" != "x" ]] && echo "PETSc architecture $PETSC_ARCH" - [[ "x$OMP_NUM_THREADS" != "x" ]] && echo "Multithreading OMP_NUM_THREADS=$OMP_NUM_THREADS" + [[ "x$OMP_NUM_THREADS" == "x" ]] && export OMP_NUM_THREADS=4 + echo "Multithreading OMP_NUM_THREADS=$OMP_NUM_THREADS" echo -n "heap size " [[ "$(ulimit -d)" == "unlimited" ]] \ && echo "unlimited" \ diff --git a/python/damask/_grid.py b/python/damask/_grid.py index 1b58870e4..9e30ba5f9 100644 --- a/python/damask/_grid.py +++ b/python/damask/_grid.py @@ -392,7 +392,7 @@ class Grid: seeds_p = seeds coords = grid_filters.coordinates0_point(cells,size).reshape(-1,3) - pool = mp.Pool(int(os.environ.get('OMP_NUM_THREADS',1))) + pool = mp.Pool(int(os.environ.get('OMP_NUM_THREADS',4))) result = pool.map_async(partial(Grid._find_closest_seed,seeds_p,weights_p), [coord for coord in coords]) pool.close() pool.join() @@ -437,7 +437,7 @@ class Grid: """ coords = grid_filters.coordinates0_point(cells,size).reshape(-1,3) KDTree = spatial.cKDTree(seeds,boxsize=size) if periodic else spatial.cKDTree(seeds) - devNull,material_ = KDTree.query(coords) + devNull,material_ = KDTree.query(coords, workers = int(os.environ.get('OMP_NUM_THREADS',4))) return Grid(material = (material_ if material is None else material[material_]).reshape(cells), size = size, diff --git a/python/damask/_result.py b/python/damask/_result.py index 0520f08f2..8dd915d1b 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -1179,7 +1179,7 @@ class Result: """ chunk_size = 1024**2//8 - pool = mp.Pool(int(os.environ.get('OMP_NUM_THREADS',1))) + pool = mp.Pool(int(os.environ.get('OMP_NUM_THREADS',4))) lock = mp.Manager().Lock() groups = []