Difference between revisions of "Programming"

From HPC
Jump to: navigation , search
m
m
Line 38: Line 38:
 
| [[programming/OpenACC|OpenACC]]
 
| [[programming/OpenACC|OpenACC]]
 
| OpenACC is an implementation of multithreading, a method of parallelizing whereby a master thread (a series of instructions executed consecutively) forks a specified number of slave threads and the system divides a task among them. This is similar to OpenMP but has had CPU/GPU support from the beginning. There is language support from C/C++ and Fortran.
 
| OpenACC is an implementation of multithreading, a method of parallelizing whereby a master thread (a series of instructions executed consecutively) forks a specified number of slave threads and the system divides a task among them. This is similar to OpenMP but has had CPU/GPU support from the beginning. There is language support from C/C++ and Fortran.
 +
|-
 +
| [[programming/OpenCL|OpenCL]]
 +
| A framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators.
 
|-
 
|-
 
| [[programming/OpenMP|OpenMP]]
 
| [[programming/OpenMP|OpenMP]]

Revision as of 15:02, 7 February 2019

Development

Programming Support


Click on the links below for support on programming packages:

Package Description
C C is a general-purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell Labs.
C++ C++ is a general-purpose programming language. It has imperative, object-oriented and generic programming features, while also providing facilities for low-level memory manipulation.
C-Sharp C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming. Originally created by Microsoft.
CUDA CUDA is a parallel computing platform and application programming interface (API) model created by Nvidia.
Fortran Fortran is a general-purpose, imperative programming language that is especially suited to numeric computation and scientific computing. FORTRAN was the world's first high-level programming language and was started in 1957.
JAVA Java is a high-level programming language originally developed by Sun Microsystems and released in 1995.
Julia Julia is a high-level, high-performance dynamic programming language for numerical computing. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library.
OpenACC OpenACC is an implementation of multithreading, a method of parallelizing whereby a master thread (a series of instructions executed consecutively) forks a specified number of slave threads and the system divides a task among them. This is similar to OpenMP but has had CPU/GPU support from the beginning. There is language support from C/C++ and Fortran.
OpenCL A framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators.
OpenMP OpenMP is an implementation of multithreading, a method of parallelizing whereby a master thread (a series of instructions executed consecutively) forks a specified number of slave threads and the system divides a task among them. There is language support from C/C++ and Fortran.
OpenMPI MPI stands for the Message Passing Interface. MPI is a standardized API typically used for parallel and/or distributed computing. There is language support from C/C++ and Fortran.
Perl Perl is an interpreted language useful for rapid code development and multi-purpose programming.
Python Python is an interpreted language useful for rapid code development and distributed computing.
R R is a programming language and software environment for statistical analysis, graphics representation and reporting.

Specialised Programming Areas

Area Description
Deep Learning Deep learning is part of a broader family of machine learning methods based on learning data representations, as opposed to task-specific algorithms.