Difference between revisions of "Category:Parallel programming"
Line 3: | Line 3: | ||
In a parallel program, the computational work to be performed by the application is divided into a number of work packages. These work packages can then be assigned to a number of processing elements (e.g. cores on a modern multi-core processors or GPU) and have them executed independently. This should deliver a faster time to solution, when compared to utilising a single processing element only. By deploying several hundreds or thousands of processing elements, calculations which would otherwise take many years to complete can be completed in month or even weeks. | In a parallel program, the computational work to be performed by the application is divided into a number of work packages. These work packages can then be assigned to a number of processing elements (e.g. cores on a modern multi-core processors or GPU) and have them executed independently. This should deliver a faster time to solution, when compared to utilising a single processing element only. By deploying several hundreds or thousands of processing elements, calculations which would otherwise take many years to complete can be completed in month or even weeks. | ||
− | In a typical parallel program the work packages are however not fully independent. They frequently require access to data generated or modified on other processing elements. This data then needs communicating. When using a [[distributed memory]] system communication is typically facilitated by deploying some form of [[message passing]]. On a [[shared memory]] system (e.g. multi core system) all computational threads have access to a common shared memory space, which allows data communication between the processing elements. | + | In a typical parallel program the work packages are however not fully independent. They frequently require access to data generated or modified on other processing elements. This data then needs communicating. When using a [[distributed memory programming|distributed memory]] system communication is typically facilitated by deploying some form of [[message passing]]. On a [[shared memory]] system (e.g. multi core system) all computational threads have access to a common shared memory space, which allows data communication between the processing elements. |
Revision as of 15:14, 24 October 2011
In a parallel program, the computational work to be performed by the application is divided into a number of work packages. These work packages can then be assigned to a number of processing elements (e.g. cores on a modern multi-core processors or GPU) and have them executed independently. This should deliver a faster time to solution, when compared to utilising a single processing element only. By deploying several hundreds or thousands of processing elements, calculations which would otherwise take many years to complete can be completed in month or even weeks.
In a typical parallel program the work packages are however not fully independent. They frequently require access to data generated or modified on other processing elements. This data then needs communicating. When using a distributed memory system communication is typically facilitated by deploying some form of message passing. On a shared memory system (e.g. multi core system) all computational threads have access to a common shared memory space, which allows data communication between the processing elements.
Experts
No experts have currently registered expertise on this specific subject. List of registered field experts:
Field | AE FTE | General activities | ||
---|---|---|---|---|
Anders Hast (UPPMAX) | UPPMAX | Visualisation, Digital Humanities | 30 | Software and usability for projects in digital humanities |
Anders Sjölander (UPPMAX) | UPPMAX | Bioinformatics | 100 | Bioinformatics support and training, job efficiency monitoring, project management |
Anders Sjöström (LUNARC) | LUNARC | GPU computing MATLAB General programming Technical acoustics | 50 | Helps users with MATLAB, General programming, Image processing, Usage of clusters |
Birgitte Brydsö (HPC2N) | HPC2N | Parallel programming HPC | Training, general support | |
Björn Claremar (UPPMAX) | UPPMAX | Meteorology, Geoscience | 100 | Support for geosciences, Matlab |
Björn Viklund (UPPMAX) | UPPMAX | Bioinformatics Containers | 100 | Bioinformatics, containers, software installs at UPPMAX |
Chandan Basu (NSC) | NSC | Computational science | 100 | EU projects IS-ENES and PRACE. Working on climate and weather codes |
Diana Iusan (UPPMAX) | UPPMAX | Computational materials science Performance tuning | 50 | Compilation, performance optimization, and best practice usage of electronic structure codes. |
Frank Bramkamp (NSC) | NSC | Computational fluid dynamics | 100 | Installation and support of computational fluid dynamics software. |
Hamish Struthers (NSC) | NSC | Climate research | 80 | Users support focused on weather and climate codes. |
Henric Zazzi (PDC) | PDC | Bioinformatics | 100 | Bioinformatics Application support |
Jens Larsson (NSC) | NSC | Swestore | ||
Jerry Eriksson (HPC2N) | HPC2N | Parallel programming HPC | HPC, Parallel programming | |
Joachim Hein (LUNARC) | LUNARC | Parallel programming Performance optimisation | 85 | HPC training Parallel programming support Performance optimisation |
Johan Hellsvik | PDC | Materialvetenskap | 30 | materials theory, modeling of organic magnetic materials, |
Johan Raber (NSC) | NSC | Computational chemistry | 50 | |
Jonas Lindemann (LUNARC) | LUNARC | Grid computing Desktop environments | 20 | Coordinating SNIC Emerging Technologies Developer of ARC Job Submission Tool Grid user documentation Leading the development of ARC Storage UI Lunarc Box Lunarc HPC Desktop |
Krishnaveni Chitrapu (NSC) | NSC | Software development | ||
Lars Eklund (UPPMAX) | UPPMAX | Chemistry Data management FAIR Sensitive data | 100 | Chemistry codes, databases at UPPMAX, sensitive data, PUBA agreements |
Lars Viklund (HPC2N) | HPC2N | General programming HPC | HPC, General programming, installation of software, support, containers | |
Lilit Axner (PDC) | PDC | Computational fluid dynamics | 50 | |
Marcus Lundberg (UPPMAX) | UPPMAX | Computational science Parallel programming Performance tuning Sensitive data | 100 | I help users with productivity, program performance, and parallelisation. I also work with allocations and with sensitive data questions |
Martin Dahlö (UPPMAX) | UPPMAX | Bioinformatics | 10 | Bioinformatic support |
Matias Piqueras (UPPMAX) | UPPMAX | Humanities, Social sciences | 70 | Support for humanities and social sciences, machine learning |
Mikael Djurfeldt (PDC) | PDC | Neuroinformatics | 100 | |
Mirko Myllykoski (HPC2N) | HPC2N | Parallel programming GPU computing | Parallel programming, HPC, GPU programming, advanced support | |
Pavlin Mitev (UPPMAX) | UPPMAX | Computational materials science | 100 | |
Pedro Ojeda-May (HPC2N) | HPC2N | Molecular dynamics Machine learning Quantum Chemistry | Training, HPC, Quantum Chemistry, Molecular dynamics, R, advanced support | |
Peter Kjellström (NSC) | NSC | Computational science | 100 | All types of HPC Support. |
Peter Münger (NSC) | NSC | Computational science | 60 | Installation and support of MATLAB, Comsol, and Julia. |
Rickard Armiento (NSC) | NSC | Computational materials science | 40 | Maintainer of the scientific software environment at NSC. |
Szilard Pall | PDC | Molecular dynamics | 55 | Algorithms & methods for accelerating molecular dynamics, Parallelization and acceleration of molecular dynamics on modern high performance computing architectures, High performance computing, manycore and heterogeneous architectures, GPU computing |
Thomas Svedberg (C3SE) | C3SE | Solid mechanics | ||
Torben Rasmussen (NSC) | NSC | Computational chemistry | 100 | Installation and support of computational chemistry software. |
Wei Zhang (NSC) | NSC | Computational science Parallel programming Performance optimisation | code optimization, parallelization. | |
Weine Olovsson (NSC) | NSC | Computational materials science | 90 | Application support, installation and help |
Åke Sandgren (HPC2N) | HPC2N | Computational science | 50 | SGUSI |
Pages in category "Parallel programming"
The following 35 pages are in this category, out of 35 total.