Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
doku:seriell2par [2024/07/22 08:47] – [Open Multi-Processing (Open MP)] grokytadoku:seriell2par [2024/07/22 09:24] (current) grokyta
Line 1: Line 1:
-====== From serial to parallel jobs ======+====== From Serial to Parallel Jobs ======
  
-===== Message Passing Interface (MPI)  ===== +Parallel computing can significantly enhance the performance of computational tasks by distributing work across multiple processors. Here are two primary methods for parallel programming:
-Message Passing Interface (MPI) is a standard describing the message exchange on distributed computing systems. Generally, at the beginning of an MPI-application several communicating processes are started in parallel. All processes work on the same problem and exchange data between each other.+
  
-(See also +===== Message Passing Interface (MPI) =====
-[[http://www.mpi-forum.org/docs/mpi-3.0/mpi30-report.pdf|MPI 3.0]] or +
-[[http://www.mpi-forum.org/docs/mpi-2.2/mpi22-report.pdf|MPI 2.2]])+
  
-There are several implementations of the MPI-standardincluding MPICH, Open MPI and many more (supporting certain MPI standard).+The Message Passing Interface (MPI) is a standardized protocol for communication in distributed computing systems. MPI is designed for scenarios where multiple processes are executed concurrentlyworking together on shared problem by exchanging data.
  
-Most common languages to work with MPI are **Fortran****C**, or **C++**. However, there are also bindings to other languages, e.g., Perl, Python, R, Ruby, Java, or CL.+* **MPI Documentation:** 
 +  [[http://www.mpi-forum.org/docs/mpi-3.0/mpi30-report.pdf|MPI 3.0 Specification]] 
 +  [[http://www.mpi-forum.org/docs/mpi-2.2/mpi22-report.pdf|MPI 2.2 Specification]]
  
-The parallel version of **Rstat** is [[rstat&#example|Rmpi]] which is installed on the cluster.+**Key Points:** 
 +- MPI implementations include MPICH, Open MPI, and others. 
 +- Common programming languages for MPI include **Fortran**, **C**, and **C++**. 
 +- There are also MPI bindings for other languages such as Perl, Python, R, Ruby, Java, and CL. 
 +The parallel version of **Rstat**, known as **Rmpi**, is available on the cluster
 +- **Matlab** provides a parallel computing toolbox with MPI support. 
 +- **Maple** offers grid computing capabilities with MPI protocol support.
  
-[[http://de.mathworks.com/help/distcomp|Matlab]] provides a parallel computing toolbox using MPI and PVM. +===== Open Multi-Processing (OpenMP) =====
  
-Grid computing in [[http://www.maplesoft.com/support/help/Maple/view.aspx?path=Grid/Launch|Maple]] also supports the MPI protocol.+OpenMP is designed for multi-platform shared memory multiprocessing, offering compiler directives, library routines, and environment variables to manage parallel execution in C, C++, and Fortran.
  
-===== Open Multi-Processing (Open MP) ===== +**Key Features:** 
-Open MP supports multi-platform shared memory multiprocessing programming in CC++and Fortranproviding compiler directiveslibrary routines, and environment variables influencing run-time behavior.+OpenMP uses a combination of serial and parallel sections within the code. 
 +Initiallya serial thread is usedwhich then spawns several parallel threads. 
 +- Unlike MPIOpenMP threads share the same memory spaceeliminating the need for message passing between threads.
  
-The code consists of serial and parallel sections. At the beginning, there is one serial thread which calls several parallel threads within a parallel section. +===== Further Information and Training =====
-Contrary to MPI, the threads have access to the same memory and therefore no message passing between the threads is necessary.+
  
-<color #ed1c24>Further information and training</color> +For more information and training on parallel computing, please visit the [[http://typo3.vsc.ac.at/research/vsc-research-center/vsc-school-seminar/|VSC Website]]. The VSC Team regularly organizes courses for both beginners and intermediate users in high-performance computing. 
-For further information and training please look at the [[http://typo3.vsc.ac.at/research/vsc-research-center/vsc-school-seminar/|VSC Website]]+ 
 +If you have specific questions about your code that cannot be addressed in these courses, you can directly [[doku:contact|contact our team]] for personalized assistance.
  
-Continuously, the VSC-Team organises courses on beginners and intermediate level in the field of high performance computing. If you have specialised questions concerning your code that cannot be tackled in one of these courses, you can directly [[doku:contact|contact our team]] in order to individually solve your question. 
  • doku/seriell2par.txt
  • Last modified: 2024/07/22 09:24
  • by grokyta