From b546d3bb91a780964ed37e7f8d84f4fdef60e2b7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 12 Jan 2011 17:02:42 +0000 Subject: [PATCH] some corrections regarding Multicore-support on mpie_spectral.f90 and makefile slight changes on mpie_spectral.f90 regarding file output --- code/makefile | 44 +++++++++++++++++++++--------------------- code/mpie_spectral.f90 | 19 ++++++++++-------- 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/code/makefile b/code/makefile index d12a973b9..d4efe8a25 100644 --- a/code/makefile +++ b/code/makefile @@ -9,21 +9,21 @@ cpspectral.out: mpie_spectral.o CPFEM.a ifort -openmp -o cpspectral.out mpie_spectral.o CPFEM.a libfftw3_threads.a libfftw3.a constitutive.a advanced.a basics.a -lpthread mpie_spectral.o: mpie_spectral.f90 CPFEM.o - ifort -openmp -c -O3 -heap-arrays 500000000 mpie_spectral.f90 + ifort -openmp -c -fast -heap-arrays 500000000 mpie_spectral.f90 CPFEM.a: CPFEM.o ar rc CPFEM.a homogenization.o homogenization_RGC.o homogenization_isostrain.o crystallite.o CPFEM.o constitutive.o CPFEM.o: CPFEM.f90 homogenization.o - ifort -openmp -c -O3 -heap-arrays 500000000 CPFEM.f90 + ifort -openmp -c -fast -heap-arrays 500000000 CPFEM.f90 homogenization.o: homogenization.f90 homogenization_isostrain.o homogenization_RGC.o crystallite.o - ifort -openmp -c -O3 -heap-arrays 500000000 homogenization.f90 + ifort -openmp -c -fast -heap-arrays 500000000 homogenization.f90 homogenization_RGC.o: homogenization_RGC.f90 constitutive.a - ifort -openmp -c -O3 -heap-arrays 500000000 homogenization_RGC.f90 + ifort -openmp -c -fast -heap-arrays 500000000 homogenization_RGC.f90 homogenization_isostrain.o: homogenization_isostrain.f90 basics.a advanced.a - ifort -openmp -c -O3 -heap-arrays 500000000 homogenization_isostrain.f90 + ifort -openmp -c -fast -heap-arrays 500000000 homogenization_isostrain.f90 crystallite.o: crystallite.f90 constitutive.a - ifort -openmp -c -O3 -heap-arrays 500000000 crystallite.f90 + ifort -openmp -c -fast -heap-arrays 500000000 crystallite.f90 @@ -31,22 +31,22 @@ constitutive.a: constitutive.o ar rc constitutive.a constitutive.o constitutive_titanmod.o constitutive_nonlocal.o constitutive_dislotwin.o constitutive_j2.o constitutive_phenopowerlaw.o basics.a advanced.a constitutive.o: constitutive.f90 constitutive_titanmod.o constitutive_nonlocal.o constitutive_dislotwin.o constitutive_j2.o constitutive_phenopowerlaw.o - ifort -openmp -c -O3 -heap-arrays 500000000 constitutive.f90 + ifort -openmp -c -fast -heap-arrays 500000000 constitutive.f90 constitutive_titanmod.o: constitutive_titanmod.f90 basics.a advanced.a - ifort -openmp -c -O3 -heap-arrays 500000000 constitutive_titanmod.f90 + ifort -openmp -c -fast -heap-arrays 500000000 constitutive_titanmod.f90 constitutive_nonlocal.o: constitutive_nonlocal.f90 basics.a advanced.a - ifort -openmp -c -O3 -heap-arrays 500000000 constitutive_nonlocal.f90 + ifort -openmp -c -fast -heap-arrays 500000000 constitutive_nonlocal.f90 constitutive_dislotwin.o: constitutive_dislotwin.f90 basics.a advanced.a - ifort -openmp -c -O3 -heap-arrays 500000000 constitutive_dislotwin.f90 + ifort -openmp -c -fast -heap-arrays 500000000 constitutive_dislotwin.f90 constitutive_j2.o: constitutive_j2.f90 basics.a advanced.a - ifort -openmp -c -O3 -heap-arrays 500000000 constitutive_j2.f90 + ifort -openmp -c -fast -heap-arrays 500000000 constitutive_j2.f90 constitutive_phenopowerlaw.o: constitutive_phenopowerlaw.f90 basics.a advanced.a - ifort -openmp -c -O3 -heap-arrays 500000000 constitutive_phenopowerlaw.f90 + ifort -openmp -c -fast -heap-arrays 500000000 constitutive_phenopowerlaw.f90 @@ -54,13 +54,13 @@ advanced.a: lattice.o ar rc advanced.a FEsolving.o mesh.o material.o lattice.o lattice.o: lattice.f90 material.o - ifort -openmp -c -O3 -heap-arrays 500000000 lattice.f90 + ifort -openmp -c -fast -heap-arrays 500000000 lattice.f90 material.o: material.f90 mesh.o - ifort -openmp -c -O3 -heap-arrays 500000000 material.f90 + ifort -openmp -c -fast -heap-arrays 500000000 material.f90 mesh.o: mesh.f90 FEsolving.o - ifort -openmp -c -O3 -heap-arrays 500000000 mesh.f90 + ifort -openmp -c -fast -heap-arrays 500000000 mesh.f90 FEsolving.o: FEsolving.f90 basics.a - ifort -openmp -c -O3 -heap-arrays 500000000 FEsolving.f90 + ifort -openmp -c -fast -heap-arrays 500000000 FEsolving.f90 @@ -68,16 +68,16 @@ basics.a: debug.o math.o ar rc basics.a debug.o math.o numerics.o IO.o mpie_spectral_interface.o prec.o debug.o: debug.f90 numerics.o - ifort -openmp -c -O3 debug.f90 + ifort -openmp -c -fast debug.f90 math.o: math.f90 numerics.o - ifort -openmp -c -O3 math.f90 + ifort -openmp -c -fast math.f90 numerics.o: numerics.f90 IO.o - ifort -openmp -c -O3 numerics.f90 + ifort -openmp -c -fast numerics.f90 IO.o: IO.f90 mpie_spectral_interface.o - ifort -openmp -c -O3 IO.f90 + ifort -openmp -c -fast IO.f90 mpie_spectral_interface.o: mpie_spectral_interface.f90 prec.o - ifort -openmp -c -O3 mpie_spectral_interface.f90 + ifort -openmp -c -fast mpie_spectral_interface.f90 prec.o: prec.f90 - ifort -openmp -c -O3 prec.f90 + ifort -openmp -c -fast prec.f90 diff --git a/code/mpie_spectral.f90 b/code/mpie_spectral.f90 index 1fb80cbd0..cbbc18549 100644 --- a/code/mpie_spectral.f90 +++ b/code/mpie_spectral.f90 @@ -95,8 +95,9 @@ program mpie_spectral integer(pInt) loadcase, ielem, iter, calcmode, CPFEM_mode real(pReal) temperature ! not used, but needed for call to CPFEM_general -!$ call omp_set_num_threads(4) ! set number of threads for parallel execution set by MPIE_NUM_THREADS !Initializing +!$ call omp_set_num_threads(mpieNumThreadsInt) ! set number of threads for parallel execution set by MPIE_NUM_THREADS + bc_maskvector = '' unit = 234_pInt @@ -321,15 +322,17 @@ program mpie_spectral enddo; enddo; enddo ! write header of output file - open(538,file=trim(getSolverWorkingDirectoryName())//trim(getSolverJobName())//'.out',form='UNFORMATTED') - write(538), 'Loadcase',trim(getLoadcaseName()) - write(538), 'Workingdir',trim(getSolverWorkingDirectoryName()) - write(538), 'JobName',trim(getSolverJobName())//InputFileExtension - write(538), 'resolution','a', resolution(1),'b', resolution(2),'c', resolution(3) - write(538), 'geomdimension','x', geomdimension(1),'y', geomdimension(2),'z', geomdimension(3) + open(538,file=trim(getSolverWorkingDirectoryName())//trim(getSolverJobName())//'.spectralOut',form='UNFORMATTED') + write(538), 'load',trim(getLoadcaseName()) + write(538), 'workingdir',trim(getSolverWorkingDirectoryName()) + write(538), 'geometry',trim(getSolverJobName())//InputFileExtension + write(538), 'resolution',resolution + write(538), 'dimension',geomdimension write(538), 'materialpoint_sizeResults', materialpoint_sizeResults - write(538), 'totalincs', sum(bc_steps) + write(538), 'increments', sum(bc_steps) + write(538), 'eoh' write(538) materialpoint_results(:,1,:) + write(538) materialpoint_results(:,1,:) !to be conform with t16 Marc format ! Initialization done !*************************************************************