Skip to main content
University of North Dakota
University of North Dakota
    • Admitted Students
    • Current Students
    • Families of Current Students
    • Faculty & Staff
    • Alumni
    • Email
    • Blackboard
    • Campus Connection
    • Employee Self-Service
    • Hawk Central
    • Degree Map
    • Zoom
  • Directory
  • Academics
  • Admissions
  • Student Life
  • Research
  • Athletics
  • Majors & Programs
  • About
University of North Dakota
  • Academics
  • Admissions
  • Student Life
  • Research
  • Athletics
  • Majors & Programs
  • About
  • Request Info
  • Visit
  • Apply
  • Request Info
  • Visit
  • Apply
  • Home
  • Research & Economic Development
  • Computational Research Center
  • Tutorials
  • Program Tutorials
  • Building and running SOFI2D - ()
Skip Section Navigation
  • Computational Research Center
  • HPC Cluster and DREAM Lab Show/hide children
    • Talon - High Performance Computing Cluster
    • DREAM Lab
  • Tutorials
  • Collaboration & Outreach
  • Support Show/hide children
    • End-User Support
    • Windows Software
  • Research Support

Building and running SOFI2D - ()

SOFI2D is used for processing three dimensional seismic data.


Building SOFI2D

  1. Clone the git repository where SOFI2D is located

    git clone https://git.scc.kit.edu/GPIAG-Software/SOFI2D.git

  2. Load one of the MPI GCC Modules

    module load mpich/ge/gcc OR module load openmpi/gcc

  3. Unload the default C compiler

    module unload gcc

  4. Change to the SOFI2D src directory

    cd SOFI2D/src

  5. Run the make all command and watch out for errors.

If you don't get any errors, SOFI2D has been successfully built.

  • NOTE: There may be some warnings about variables being set but not used. This should be fine.

Running SOFI2D on a Cluster

When running in parallel SOFI will decompose the domain you are working on and split it into smaller chunks for each processor to work on. The number of chunks will depend on the number of nodes and tasks you set in the submission file (see below) and in the SOFI2D/par/in_and_out/sofi2D.json parameter file. It is recommended to split the domain into relatively square sections.

The parameters file created by default will not necessarily work with the settings you want to use to submit the job to the queue. You will need to edit it before attempting to submit to the cluster. The default parameters file can be found at SOFI2D/par/in_and_out/sofi2D.json. Under Domain Decomposition, the variables NPROCX and NPROCY must have their variables changed such that NPROCX * NPROCY * NPROCZ = Number of processors requested.

  • For the example submission script below NPROCX * NPROCY = 8 = (4 tasks per node) * (2 nodes)

SOFI2D/par/in_and_out/sofi2D.json:

#________________________________- #JSON PARAMETER FILE FOR SOFI2D #________________________________- # description: example of json input file # description/name of the model: homogeneous full space (hh.c) # { "Domain Decomposition" : "comment", "NPROCX" : "2", "NPROCY" : "4", }

Sbatch submission script sofi2DSubmission.sh:

#!/bin/bash #SBATCH _ntasks-per-node=4 #Number of tasks #SBATCH -N2 #Number of nodes to run the tasks #SBATCH _mem=2G #Requested amount of memory per node #SBATCH _job-name=SOFI2DTest #Name of the job #SBATCH _workdir=./ #Working directory #SBATCH -o /home/first.last/SOFI2D-Release/Data.txt #Log file location #SBATCH -e /home/first.last/SOFI2D-Release/Errors.txt #Error file location. module purge module load slurm module load mpich/ge/gcc cd /path/to/SOFI2D-Release/par srun -n $SLURM_NTASKS hostname > $SLURM_JOB_ID.hosts mpirun -n $SLURM_NTASKS -machinefile $SLURM_JOB_ID.hosts ../bin/sofi2D ./in_and_out/sofi2D.json

After you've created your submission script and modified the sofi2D.json parameters file you can submit your job using sbatch.

sbatch sofi2DSubmission.sh

See the Slurm tutorial for instructions on how to submit jobs.

Computational Research Center
Chester Fritz Library Room 334
3051 University Ave Stop 8399
Grand Forks, ND 58202-8399
P 701.777.6514
und.hpc.support@UND.edu

Hours

Mon.-Fri.: 9 a.m. - 5 p.m.

We use cookies on this site to enhance your user experience.

By clicking any link on this page you are giving your consent for us to set cookies, Privacy Information.

Ready to Enroll?

  • Request Information
  • Schedule a Visit
  • Apply Now
  • UND.info@UND.edu
  • 701.777.3000
  • Instagram
  • Facebook
  • YouTube
  • LinkedIn
  • X
  • Contact UND
  • Campus Map
  • Events Calendar
  • Community & Belonging
  • Explore Programs
  • Employment
  • Make a Gift
  • Campus Safety (SafeUND)
University of North Dakota

© 2025 University of North Dakota - Grand Forks, ND - Member of ND University System

  • Accessibility & Website Feedback
  • Terms of Use & Privacy
  • Notice of Nondiscrimination
  • Student Disclosure Information
  • Title IX
©