Lecture
Special comments: the introduction of additional directives for the compiler, the use of these directives in the process of writing a program to indicate to the compiler parallel sections of the program. The use of special comments not only adds the possibility of parallel execution, but also fully preserves the original version of the program. If the compiler does not know anything about parallelism, then he will simply skip all the special comments, based on the consistent semantics of the program.
Example: OpenMP standard
for Fortran -! $ OPM
for C - directive #progma opm
Expansion of existing programming languages (PL) : development on the basis of existing PLs of new languages, by adding a set of commands for parallel processing of information, or by modifying the system for compiling and executing a program.
Example: High Performance Fortran (HPF)
Development of special programming languages: the use of PL suitable for use only for multi-machine and multiprocessor systems. In data, the PL parallelism is laid at the level of algorithmization and program execution.
Example: Occam languages (for programming transputer systems), Sisal (for programming streaming machines), Norma (declarative language for describing the solution of computational problems by grid methods)
Using libraries and interfaces that support the interaction of parallel processes: the preparation of program code in any available programming language, but using the access interface to properties and methods that provide parallel processing of information.
The programmer himself clearly defines which parallel processes of the application in which place of the program and with which processes must either exchange data or synchronize their work.
This ideology is followed by MPI and PVM. There is a specialized Linda system that adds only four additional functions in, out, read and eval to any coherent language, which allows you to create parallel programs.
The use of subroutines and functions of parallel subject libraries in time-critical counting program fragments : the use of additional modules connected to a standard PL in the process of preparing program code, allowing the program to operate in parallel only for a certain set of algorithms. All parallelism and all optimization are hidden in the calls, and the user can only write the outer part of his program and correctly use the standard blocks.
Examples of libraries: Lapack, Cray Scientific Library, HP Mathematical Library
The use of specialized packages and software systems : they are mainly used to perform typical tasks and do not require any programming knowledge or architecture of the aircraft from the user. The main task is to correctly specify all the necessary input data and correctly use the functionality of the package.
Example: GAMESS package for quantum chemical calculations
Examples of programming languages and add-ons
1.OpenMP
2.High Performance Fortran (HPF)
3.Occam, Sisal, Norm
4.Linda, Massage Passing Interface (MPI)
5.Lapack,
6.Gamess
Comments
To leave a comment
Highly loaded projects. Theory of parallel computing. Supercomputers. Distributed systems
Terms: Highly loaded projects. Theory of parallel computing. Supercomputers. Distributed systems