Skip to content
Snippets Groups Projects
Commit c4df516d authored by Jan Willem Thorbecke's avatar Jan Willem Thorbecke
Browse files

local changes on Ameland

parent 948b4633
No related branches found
No related tags found
No related merge requests found
...@@ -3,6 +3,7 @@ bin/* ...@@ -3,6 +3,7 @@ bin/*
*.su *.su
*.bin *.bin
.DS* .DS*
Make_include
fdelmodc_cuda.tgz fdelmodc_cuda.tgz
marchenko/fmute marchenko/fmute
marchenko/marchenko marchenko/marchenko
......
...@@ -6,18 +6,17 @@ ...@@ -6,18 +6,17 @@
# -3- on Solaris system use RANLIB=ranlib which is defined below # -3- on Solaris system use RANLIB=ranlib which is defined below
# the current directory (in vi ":r!pwd") # the current directory (in vi ":r!pwd")
ROOT=/Users/jan/src/OpenSource ROOT=/vardim/home/thorbcke/src/OpenSource
######################################################################## ########################################################################
# C compiler; change this only if you are using a different C-compiler # C compiler; change this only if you are using a different C-compiler
#GNU #GNU
#CC = gcc-mp-5
CC = gcc CC = gcc
#CC = gcc-mp-6
FC = gfortran FC = gfortran
# Linux gcc version 4.x # Linux gcc version 4.x
OPTC = -O3 -ffast-math OPTC = -O3 -ffast-math
#OPTC += -Wunused-but-set-variable -Wunused-variable
#to include parallelisation with OpenMP #to include parallelisation with OpenMP
OPTC += -fopenmp OPTC += -fopenmp
...@@ -37,13 +36,16 @@ OPTC += -fopenmp ...@@ -37,13 +36,16 @@ OPTC += -fopenmp
#OPTF = -O2 #OPTF = -O2
#Intel #Intel
#CC = icc CC = icc
#FC = ifort FC = ifort
# Linux ## Linux
#OPTC = -O3 -no-prec-div #OPTC = -O3 -no-prec-div -qopt-report-phase=vec,openmp
#OPTF = -O3 -no-prec-div #OPTF = -O3 -no-prec-div -qopt-report-phase=vec,openmp
OPTC = -O3 -no-prec-div -xCORE-AVX2
OPTF = -O3 -no-prec-div -xCORE-AVX2
#to include parallelisation with OpenMP #to include parallelisation with OpenMP
#OPTC += -qopenmp OPTC += -qopenmp
# Apple OSX intel 11.1.076 snow leopard 10.6.2 # Apple OSX intel 11.1.076 snow leopard 10.6.2
#OPTC = -O3 -msse3 -no-prec-div -vec-report2 -fno-builtin-__sprintf_chk #OPTC = -O3 -msse3 -no-prec-div -vec-report2 -fno-builtin-__sprintf_chk
......
...@@ -12,6 +12,7 @@ LIBS += -L$L -lgenfft -lm $(LIBSM) ...@@ -12,6 +12,7 @@ LIBS += -L$L -lgenfft -lm $(LIBSM)
#OPTC := $(subst -O3 -ffast-math, -O1 -g ,$(OPTC)) #OPTC := $(subst -O3 -ffast-math, -O1 -g ,$(OPTC))
#PGI options for compiler feedback #PGI options for compiler feedback
#OPTC += -Mprof=lines #OPTC += -Mprof=lines
OPTC += -qopt-report
#LDFLAGS += -Mprof=lines #LDFLAGS += -Mprof=lines
all: fdelmodc all: fdelmodc
......
...@@ -82,7 +82,7 @@ int acoustic4(modPar mod, srcPar src, wavPar wav, bndPar bnd, int itime, int ixs ...@@ -82,7 +82,7 @@ int acoustic4(modPar mod, srcPar src, wavPar wav, bndPar bnd, int itime, int ixs
ioPz=ioPx; ioPz=ioPx;
*/ */
/* calculate vx for all grid points except on the virtual boundary*/ /* calculate vx for all grid points except on the virtual boundary*/
#pragma omp for private (ix, iz) nowait schedule(guided,1) #pragma omp for private (ix, iz) nowait schedule(guided,1)
#pragma ivdep #pragma ivdep
for (ix=mod.ioXx; ix<mod.ieXx; ix++) { for (ix=mod.ioXx; ix<mod.ieXx; ix++) {
#pragma ivdep #pragma ivdep
......
#!/bin/bash #!/bin/bash
#SBATCH -J OpenMP-test
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=40
#SBATCH --time=0:15:00
cd $SLURM_SUBMIT_DIR
cp=2000 cp=2000
rho=1000 rho=1000
dx=2.5 dx=2.5
dt=0.0005 dt=0.0005
make#mod sizex=6000 sizez=2000 dx=$dx dz=$dx cp0=$cp cs0=$cs ro0=$rho \ makemod sizex=6000 sizez=2000 dx=$dx dz=$dx cp0=$cp cs0=$cs ro0=$rho \
orig=-3000,0 file_base=syncl.su \ orig=-3000,0 file_base=syncl.su \
intt=def x=-3000,0,3000 z=400,400,400 poly=0 cp=2050 ro=1500 \ intt=def x=-3000,0,3000 z=400,400,400 poly=0 cp=2050 ro=1500 \
intt=def x=-3000,-2000,-1000,-800,0,800,3000 z=650,650,700,750,900,750,600 poly=2 cp=2100 ro=2000 \ intt=def x=-3000,-2000,-1000,-800,0,800,3000 z=650,650,700,750,900,750,600 poly=2 cp=2100 ro=2000 \
intt=def x=-3000,3000 z=1250,1250 poly=0 cp=2400 ro=1800 \ intt=def x=-3000,3000 z=1250,1250 poly=0 cp=2400 ro=1800 \
export OMP_NUM_THREADS=1
makewave fp=20 dt=$dt file_out=wave.su nt=4096 t0=0.1 makewave fp=20 dt=$dt file_out=wave.su nt=4096 t0=0.1
#
export KMP_AFFINITY=verbose,granularity=fine,compact,1,0
for threads in 2 4 8 12 16 20 24
do
export OMP_NUM_THREADS=$threads
echo "number of threads=$threads"
../fdelmodc \ time ../fdelmodc \
file_cp=syncl_cp.su ischeme=1 \ file_cp=syncl_cp.su ischeme=1 \
file_den=syncl_ro.su \ file_den=syncl_ro.su \
file_src=wave.su \ file_src=wave.su \
...@@ -36,3 +49,4 @@ makewave fp=20 dt=$dt file_out=wave.su nt=4096 t0=0.1 ...@@ -36,3 +49,4 @@ makewave fp=20 dt=$dt file_out=wave.su nt=4096 t0=0.1
ntaper=101 \ ntaper=101 \
left=2 right=2 bottom=2 top=1 left=2 right=2 bottom=2 top=1
done
...@@ -7,6 +7,7 @@ rho=2500 ...@@ -7,6 +7,7 @@ rho=2500
dx=2.5 dx=2.5
dt=0.0005 dt=0.0005
makemod sizex=5000 sizez=2500 dx=$dx dz=$dx cp0=$cp ro0=$rho \ makemod sizex=5000 sizez=2500 dx=$dx dz=$dx cp0=$cp ro0=$rho \
orig=-2500,0 file_base=syncl.su \ orig=-2500,0 file_base=syncl.su \
intt=def x=-2500,0,2500 z=250,250,250 poly=0 cp=2300 ro=2000 \ intt=def x=-2500,0,2500 z=250,250,250 poly=0 cp=2300 ro=2000 \
...@@ -15,39 +16,39 @@ makemod sizex=5000 sizez=2500 dx=$dx dz=$dx cp0=$cp ro0=$rho \ ...@@ -15,39 +16,39 @@ makemod sizex=5000 sizez=2500 dx=$dx dz=$dx cp0=$cp ro0=$rho \
makewave w=g1 fp=20 dt=$dt file_out=wave.su nt=4096 t0=0.1 makewave w=g1 fp=20 dt=$dt file_out=wave.su nt=4096 t0=0.1
export OMP_NUM_THREADS=2 export OMP_NUM_THREADS=8
zsrc=1100 zsrc=1100
zsrc=15 zsrc=0
fdelmodc \ ../fdelmodc \
file_cp=syncl_cp.su ischeme=1 iorder=4 \ file_cp=syncl_cp.su ischeme=1 iorder=4 \
file_den=syncl_ro.su \ file_den=syncl_ro.su \
file_src=wave.su \ file_src=wave.su \
file_rcv=shot_fd.su \ file_rcv=shot_fd.su \
src_type=6 \ src_type=7 \
src_orient=1 \ src_orient=1 \
src_injectionrate=0 \ src_injectionrate=0 \
rec_type_vz=1 \ rec_type_vz=1 \
rec_type_vx=1 \
rec_type_p=1 \ rec_type_p=1 \
rec_int_vz=2 \ rec_int_vz=2 \
dtrcv=0.004 \ dtrcv=0.004 \
rec_delay=0.1 \ rec_delay=0.1 \
verbose=4 \ verbose=2 \
tmod=2.0 \ tmod=2.01 \
dxrcv=10.0 \ dxrcv=10.0 \
xrcv1=-2250 xrcv2=2250 \ xrcv1=-2250 xrcv2=2250 \
zrcv1=0 zrcv2=0 \ zrcv1=0 zrcv2=0 \
xsrc=0 zsrc=$zsrc \ xsrc=0 zsrc=$zsrc \
file_snap=snapF_$zsrc \
tsnap1=0.1 tsnap2=2.0 dtsnap=0.05 dxsnap=$dx dzsnap=$dx \
ntaper=101 \ ntaper=101 \
snapwithbnd=1 \ snapwithbnd=1 \
file_snap=snapF_$zsrc \ left=2 right=2 top=2 bottom=2
tsnap1=0.1 tsnap2=4.0 dtsnap=0.05 dxsnap=$dx dzsnap=$dx \
left=2 right=2 top=2 bottom=2
exit suxmovie < snapF_${zsrc}_svz.su loop=1 clip=1e-13
exit
makemod sizex=5000 sizez=2500 dx=$dx dz=$dx cp0=$cp ro0=$rho \ makemod sizex=5000 sizez=2500 dx=$dx dz=$dx cp0=$cp ro0=$rho \
orig=-2500,0 file_base=hom.su orig=-2500,0 file_base=hom.su
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
export PATH=:$HOME/src/OpenSource/bin:$HOME/bin64:$PATH: export PATH=:$HOME/src/OpenSource/bin:$HOME/bin64:$PATH:
cd /Users/jan/src/OpenSource/fdelmodc/demo cd /vardim/home/thorbcke/src/OpenSource/fdelmodc/demo
dx=2.5 dx=2.5
dt=0.0005 dt=0.0005
...@@ -22,7 +22,7 @@ makemod sizex=6000 sizez=900 dx=$dx dz=$dx cp0=1900 ro0=1200 \ ...@@ -22,7 +22,7 @@ makemod sizex=6000 sizez=900 dx=$dx dz=$dx cp0=1900 ro0=1200 \
makewave w=fw fmin=0 flef=5 frig=80 fmax=100 dt=$dt file_out=wavefw.su nt=4096 t0=0.3 scale=0 scfft=1 makewave w=fw fmin=0 flef=5 frig=80 fmax=100 dt=$dt file_out=wavefw.su nt=4096 t0=0.3 scale=0 scfft=1
export OMP_NUM_THREADS=2 export OMP_NUM_THREADS=4
makewave fp=20 dt=$dt file_out=wave.su nt=4096 t0=0.1 scale=1 makewave fp=20 dt=$dt file_out=wave.su nt=4096 t0=0.1 scale=1
......
...@@ -71,7 +71,13 @@ int readShotData(char *filename, float *xrcv, float *xsrc, float *zsrc, int *xnx ...@@ -71,7 +71,13 @@ int readShotData(char *filename, float *xrcv, float *xsrc, float *zsrc, int *xnx
if (nread != TRCBYTES) { /* no more data in file */ if (nread != TRCBYTES) { /* no more data in file */
break; break;
} }
/* ToDo Don't store the traces that are not in the aperture */
/*
if ( (NINT(sx_shot*scl-fxse) > 0) || (NINT(-fxsb) > 0) ) {
vwarn("source positions are outside synthesis aperture");
vmess("xsrc = %.2f", xsrc[k], xrcv[k*nx+0], xrcv[k*nx+nx-1]);
}
*/
sx_shot = hdr.sx; sx_shot = hdr.sx;
fldr_shot = hdr.fldr; fldr_shot = hdr.fldr;
xsrc[igath] = sx_shot*scl; xsrc[igath] = sx_shot*scl;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment