Changes between Initial Version and Version 1 of Workshops/JobParallelism/BeforeRunningYourJob


Ignore:
Timestamp:
01/18/26 13:29:39 (3 days ago)
Author:
Carl Baribault
Comment:

New page: "Before running your job"

Legend:

Unmodified
Added
Removed
Modified
  • Workshops/JobParallelism/BeforeRunningYourJob

    v1 v1  
     1[[PageOutline]]
     2= Before running your job =
     3
     4Before you run your job you should consider the following in order for your job to run most efficiently on Cypress.
     5
     6== Tools for implementing various levels of job parallelism on Cypress ==
     7
     8See [wiki:IntroToMulti-Processing2025August Module 2 of 8 - Introduction to Multi-processing] for more information on tools available on Cypress for creating and preparing your jobs at the various levels of parallelism - programming, single job, and multi-job.
     9
     10== Review your software provider's information ==
     11
     12See [wiki:Workshops/IntroToMulti-Processing2025August#CodesforMulti-CoresMulti-Nodes.Offloading Codes for Multi-Cores, Multi-Nodes. Offloading].
     13
     14== Parallelism at the application level ==
     15
     16 Refer to the following table to determine what programming model to use based on the type of algorithm your job requires.
     17
     18 ||= Algorithm Type =||= Programming Model =||= Hardware Used =||= Examples =||
     19 ||Single Instruction Multiple data (SIMD) ||Compiler vectorization       ||Intel Advanced Vector Extensions (AVX), 256-bit vector processor ||See [https://wiki.hpc.tulane.edu/trac/wiki/cypress#MathLibraries Math Libraries] ||
     20 ||Multithreaded (shared memory) ||OpenMP       ||1 Node, >=2 cores ||See [wiki:cypress/Programming/OpenMp OpenMP] ||
     21 ||Problem domain decomposition  ||MPI          ||>=2 Nodes ||See [wiki:cypress/Programming/Mpi MPI]||
     22 ||Massively Parallel, Single Instruction Multiple Threads (SIMT) ||#pragma offload (GPU kernels not available on Cypress)  ||Coprocessors - !XeonPhi (GPUs not available on Cypress)     ||See [wiki:cypress/XeonPhi XeonPhi], [wiki:Workshops/cypress/OffloadingWithOpenMP Offloading to Accelerator] ||
     23 ||Hybrid Parallel ||MPI + OpenMP ||>=2 Nodes     ||See [wiki:cypress/using#HybridJobs Hybrid Jobs] job script||
     24
     25== Parallelism at the job scripting level ==
     26 * Many independent tasks
     27
     28 See [wiki:IntroToMulti-Processing2025August#RunningManySerialParallelJobs Running Many Serial/Parallel Jobs] if your computational workload can be split easily - or perhaps with some minimal or one-time effort - into many independent tasks, requiring minimal communication. For more information.
     29
     30 * Many dependent tasks
     31
     32 Otherwise, see [wiki:cypress/Programming/Mpi MPI] if your computational workload includes too many tasks to run on a single node '''and''' the tasks require a significant level of inter - communication '''during''' the computation.