Changes between Version 3 and Version 4 of Workshops/JobParallelism


Ignore:
Timestamp:
01/16/26 16:28:11 (2 days ago)
Author:
Carl Baribault
Comment:

Added table for programming models, etc. - Work In Progress

Legend:

Unmodified
Added
Removed
Modified
  • Workshops/JobParallelism

    v3 v4  
    2020See [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.
    2121
    22 === Before you run your job ===
     22=== Considerations before you build and/or run your job ===
    2323
    2424Before you run your job you should consider the following in order for your job to run most efficiently on Cypress.
     
    3030 * Guidelines, best practices, and tips & tricks.
    3131
    32 ==== Determination at the job or multi-job level ====
     32==== Choosing programming tools ====
    3333
    34 * If you have data to be processed that is already divided - or can be divided - into separate files that can be processed entirely independent of each other, then you should consider using either a job array or GNU Parallel. For more information, see [wiki:IntroToMulti-Processing2025August#RunningManySerialParallelJobs Running Many Serial/Parallel Jobs].
     34* Application programming level
     35
     36 Refer to the following table to determine what programming model to use based on the type of algorithm your job requires.
     37
     38 ||= Algorithm Type =||= Programming Model =||= Hardware Used =||= Example =||
     39 ||Multithreaded (shared memory) ||OpenMP       ||1 Node, >=2 cores ||TBD ||
     40 ||Problem domain decomposition  ||MPI          ||>=2 Nodes ||TBD ||
     41 ||Massively Parallel Single Instruction Multiple Threads (SIMT) ||GPU kernels  ||GPUs      ||TBD ||
     42 ||Hybrid Parallel ||MPI + (OpenMP or GPU kernels)  ||>=2 Nodes + GPUs     ||TBD ||
     43
     44* Job scripting level
     45
     46 If you have data to be processed that is already divided - or can be divided - into separate files that can be processed entirely independent of each other, then you should consider using either a job array or GNU Parallel. For more information, see [wiki:IntroToMulti-Processing2025August#RunningManySerialParallelJobs Running Many Serial/Parallel Jobs].
     47
     48 ||= Task Criteria =||= Job Scripting Model =||
     49 ||TBD ||Job Array   ||
     50 ||TBD ||GNU Parallel  ||