Difference between revisions of "Programming"
From HPC
m |
m (→Programming Languages & Libraries) |
||
(26 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | |||
− | + | ==Programming Support== | |
− | |||
− | {| class="wikitable" | + | * Development software listed here refer to those list in the '''development''' section of typing ''[[General/Modules|module avail]]''. |
− | | style="width:25%" | <Strong>Package</Strong> | + | * [[Programming/Style|Viper programming guidelines and style]] |
− | | style="width:75%" | <Strong>Description</Strong> | + | * [[Programming/GitHub|Use of Github for software control]] |
+ | * [http://hpc.wordpress.hull.ac.uk/support/research-software-engineering/ Research software engineering] | ||
+ | |||
+ | * [[General/Jupyternotebook|Using Jupyter notebooks on our HPC]] | ||
+ | |||
+ | |||
+ | ===Specialised Programming Areas=== | ||
+ | |||
+ | {| class="wikitable mw-collapsible" | ||
+ | | style="width:25%; background: #cccccc;" | <Strong>Area</Strong> | ||
+ | | style="width:75%; background: #cccccc;" | <Strong>Description</Strong> | ||
+ | |- | ||
+ | | [[programming/Deep Learning|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. | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===Programming Languages & Libraries=== | ||
+ | |||
+ | |||
+ | {| class="wikitable mw-collapsible " | ||
+ | | style="width:25%; background: #cccccc;" | <Strong>Package</Strong> | ||
+ | | style="width:75%; background: #cccccc;" | <Strong>Description</Strong> | ||
|- | |- | ||
| [[programming/C|C]] | | [[programming/C|C]] | ||
Line 16: | Line 36: | ||
|- | |- | ||
| [[programming/C-Sharp|C-Sharp]] | | [[programming/C-Sharp|C-Sharp]] | ||
− | | C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming. | + | | C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming. Created by Microsoft. |
|- | |- | ||
| [[programming/Cuda|CUDA]] | | [[programming/Cuda|CUDA]] | ||
Line 22: | Line 42: | ||
|- | |- | ||
| [[programming/Fortran|Fortran]] | | [[programming/Fortran|Fortran]] | ||
− | | Fortran is a general-purpose, imperative programming language that is especially suited to numeric computation and scientific computing. | + | | 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. |
|- | |- | ||
| [[programming/Java|JAVA]] | | [[programming/Java|JAVA]] | ||
| Java is a high-level programming language originally developed by Sun Microsystems and released in 1995. | | Java is a high-level programming language originally developed by Sun Microsystems and released in 1995. | ||
+ | |- | ||
+ | | [[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. | ||
+ | |- | ||
+ | | [[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), and field-programmable gate arrays (FPGAs) and other processors or hardware accelerators. | ||
|- | |- | ||
| [[programming/OpenMP|OpenMP]] | | [[programming/OpenMP|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. | + | | 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. |
|- | |- | ||
| [[programming/OpenMPI|OpenMPI]] | | [[programming/OpenMPI|OpenMPI]] | ||
− | | MPI stands for the Message Passing Interface. MPI is a standardized API typically used for parallel and/or distributed computing. | + | | 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. |
|- | |- | ||
| [[programming/Perl|Perl]] | | [[programming/Perl|Perl]] | ||
Line 44: | Line 70: | ||
|} | |} | ||
− | + | ||
* [[Main_Page|Home]] | * [[Main_Page|Home]] | ||
* [[Applications|Application support]] | * [[Applications|Application support]] | ||
+ | * [[Libraries|Library support]] | ||
+ | * [[Programming|Development support]] * | ||
* [[General|General]] | * [[General|General]] | ||
− | |||
− |
Latest revision as of 10:47, 23 March 2023
Programming Support
- Development software listed here refer to those list in the development section of typing module avail.
- Viper programming guidelines and style
- Use of Github for software control
- Research software engineering
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. |
Programming Languages & Libraries
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. 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. |
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), and 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. |
- Home
- Application support
- Library support
- Development support *
- General