Logo
Unionpedia
Communication
Get it on Google Play
New! Download Unionpedia on your Android™ device!
Download
Faster access than browser!
 

Unified Parallel C

Index Unified Parallel C

Unified Parallel C (UPC) is an extension of the C programming language designed for high-performance computing on large-scale parallel machines, including those with a common global address space (SMP and NUMA) and those with distributed memory (e.g. clusters). [1]

33 relations: Address space, C (programming language), Central processing unit, Chapel (programming language), Cilk, Coarray Fortran, Computer cluster, Cross-platform, Distributed memory, High Performance Fortran, Imperative programming, Manifest typing, Memory management, Message passing, Non-uniform memory access, OpenMP, Parallel computing, Parallel programming model, Partitioned global address space, Procedural programming, Programmer, Programming paradigm, Software transactional memory, Split-C, SPMD, Strong and weak typing, Structured programming, Subset, Supercomputer, Symmetric multiprocessing, Thread (computing), Type system, X10 (programming language).

Address space

In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity.

New!!: Unified Parallel C and Address space · See more »

C (programming language)

C (as in the letter ''c'') is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations.

New!!: Unified Parallel C and C (programming language) · See more »

Central processing unit

A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions.

New!!: Unified Parallel C and Central processing unit · See more »

Chapel (programming language)

Chapel, the Cascade High Productivity Language, is a parallel programming language developed by Cray.

New!!: Unified Parallel C and Chapel (programming language) · See more »

Cilk

Cilk, Cilk++ and Cilk Plus are general-purpose programming languages designed for multithreaded parallel computing.

New!!: Unified Parallel C and Cilk · See more »

Coarray Fortran

Coarray Fortran (CAF), formerly known as F--, started as an extension of Fortran 95/2003 for parallel processing created by Robert Numrich and John Reid in the 1990s.

New!!: Unified Parallel C and Coarray Fortran · See more »

Computer cluster

A computer cluster is a set of loosely or tightly connected computers that work together so that, in many respects, they can be viewed as a single system.

New!!: Unified Parallel C and Computer cluster · See more »

Cross-platform

In computing, cross-platform software (also multi-platform software or platform-independent software) is computer software that is implemented on multiple computing platforms.

New!!: Unified Parallel C and Cross-platform · See more »

Distributed memory

In computer science, distributed memory refers to a multiprocessor computer system in which each processor has its own private memory.

New!!: Unified Parallel C and Distributed memory · See more »

High Performance Fortran

High Performance Fortran (HPF) is an extension of Fortran 90 with constructs that support parallel computing, published by the High Performance Fortran Forum (HPFF).

New!!: Unified Parallel C and High Performance Fortran · See more »

Imperative programming

In computer science, imperative programming is a programming paradigm that uses statements that change a program's state.

New!!: Unified Parallel C and Imperative programming · See more »

Manifest typing

In computer science, manifest typing is explicit identification by the software programmer of the type of each variable being declared.

New!!: Unified Parallel C and Manifest typing · See more »

Memory management

Memory management is a form of resource management applied to computer memory.

New!!: Unified Parallel C and Memory management · See more »

Message passing

In computer science, message passing is a technique for invoking behavior (i.e., running a program) on a computer.

New!!: Unified Parallel C and Message passing · See more »

Non-uniform memory access

Non-uniform memory access (NUMA) is a computer memory design used in multiprocessing, where the memory access time depends on the memory location relative to the processor.

New!!: Unified Parallel C and Non-uniform memory access · See more »

OpenMP

OpenMP (Open Multi-Processing) is an application programming interface (API) that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran, on most platforms, instruction set architectures and operating systems, including Solaris, AIX, HP-UX, Linux, macOS, and Windows.

New!!: Unified Parallel C and OpenMP · See more »

Parallel computing

Parallel computing is a type of computation in which many calculations or the execution of processes are carried out concurrently.

New!!: Unified Parallel C and Parallel computing · See more »

Parallel programming model

In computing, a parallel programming model is an abstraction of parallel computer architecture, with which it is convenient to express algorithms and their composition in programs.

New!!: Unified Parallel C and Parallel programming model · See more »

Partitioned global address space

In computer science, a partitioned global address space (PGAS) is a parallel programming model.

New!!: Unified Parallel C and Partitioned global address space · See more »

Procedural programming

Procedural programming is a programming paradigm, derived from structured programming, based upon the concept of the procedure call.

New!!: Unified Parallel C and Procedural programming · See more »

Programmer

A programmer, developer, dev, coder, or software engineer is a person who creates computer software.

New!!: Unified Parallel C and Programmer · See more »

Programming paradigm

Programming paradigms are a way to classify programming languages based on their features.

New!!: Unified Parallel C and Programming paradigm · See more »

Software transactional memory

In computer science, software transactional memory (STM) is a concurrency control mechanism analogous to database transactions for controlling access to shared memory in concurrent computing.

New!!: Unified Parallel C and Software transactional memory · See more »

Split-C

Split-C is a parallel extension of the C programming language.

New!!: Unified Parallel C and Split-C · See more »

SPMD

In computing, SPMD (single program, multiple data) is a technique employed to achieve parallelism; it is a subcategory of MIMD.

New!!: Unified Parallel C and SPMD · See more »

Strong and weak typing

In computer programming, programming languages are often colloquially classified as to whether the language's type system makes it strongly typed or weakly typed (loosely typed).

New!!: Unified Parallel C and Strong and weak typing · See more »

Structured programming

Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection (if/then/else) and repetition (while and for), block structures, and subroutines in contrast to using simple tests and jumps such as the go to statement, which can lead to "spaghetti code" that is potentially difficult to follow and maintain.

New!!: Unified Parallel C and Structured programming · See more »

Subset

In mathematics, a set A is a subset of a set B, or equivalently B is a superset of A, if A is "contained" inside B, that is, all elements of A are also elements of B. A and B may coincide.

New!!: Unified Parallel C and Subset · See more »

Supercomputer

A supercomputer is a computer with a high level of performance compared to a general-purpose computer.

New!!: Unified Parallel C and Supercomputer · See more »

Symmetric multiprocessing

Symmetric multiprocessing (SMP) involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single, shared main memory, have full access to all input and output devices, and are controlled by a single operating system instance that treats all processors equally, reserving none for special purposes.

New!!: Unified Parallel C and Symmetric multiprocessing · See more »

Thread (computing)

In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system.

New!!: Unified Parallel C and Thread (computing) · See more »

Type system

In programming languages, a type system is a set of rules that assigns a property called type to the various constructs of a computer program, such as variables, expressions, functions or modules.

New!!: Unified Parallel C and Type system · See more »

X10 (programming language)

X10 is a programming language being developed by IBM at the Thomas J. Watson Research Center as part of the Productive, Easy-to-use, Reliable Computing System (PERCS) project funded by DARPA's High Productivity Computing Systems (HPCS) program.

New!!: Unified Parallel C and X10 (programming language) · See more »

Redirects here:

Parallel C.

References

[1] https://en.wikipedia.org/wiki/Unified_Parallel_C

OutgoingIncoming
Hey! We are on Facebook now! »