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

OpenMP

Index 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. [1]

100 relations: ACCU (organisation), Advanced Micro Devices, Allinea DDT, Allinea MAP, AMD FireStream, Amdahl's law, Application programming interface, Automatic parallelization, Bulk synchronous parallel, C (programming language), C++, Cell software development, Chapel (programming language), Cilk, Compare-and-swap, Computer cluster, Concurrency (computer science), Concurrent computing, Consortium, Cray, Cross-platform, CUDA, Data parallelism, Desktop computer, Differential equation, Directive (programming), Distributed shared memory, Elsevier, Embarrassingly parallel, Enduro/X, Environment variable, False sharing, Fold (higher-order function), Fork (system call), Fortran, Fujitsu, General-purpose computing on graphics processing units, GNU Compiler Collection, Grand Central Dispatch, Granularity (parallel computing), Hardware acceleration, Heterogeneous System Architecture, Hewlett-Packard, HP-UX, IBM, IBM AIX, Include directive, Instruction set architecture, Intel, Intel C++ Compiler, ..., Intel Parallel Studio, Library (computing), Linearizability, Linux, Load balancing (computing), MacOS, Map (parallel pattern), Memory bandwidth, Message Passing Interface, Microsoft Windows, Multiprocessing, NEC, Nonprofit organization, Numerical analysis, Numerical integration, Nvidia, OpenACC, OpenCL, Operating system, Oracle Corporation, Oracle Developer Studio, Parallel computing, Parallel programming model, Parallel Virtual Machine, Partitioned global address space, POSIX Threads, Processor affinity, Programmer, Race condition, Red Hat, Rogue Wave Software, ROSE (compiler framework), Runtime system, SequenceL, Shared memory, SIMD, Software portability, Solaris (operating system), Speedup, SPMD, Springer Publishing, Standard streams, Subroutine, Supercomputer, Symmetric multiprocessing, Task parallelism, Texas Instruments, Thread (computing), Unified Parallel C, X10 (programming language). Expand index (50 more) »

ACCU (organisation)

ACCU, previously known as Association of C and C++ Users, is a non-profit user group of people interested in software development, dedicated to raising the standard of computer programming.

New!!: OpenMP and ACCU (organisation) · See more »

Advanced Micro Devices

Advanced Micro Devices, Inc. (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets.

New!!: OpenMP and Advanced Micro Devices · See more »

Allinea DDT

Arm DDT is a commercial C, C++ and Fortran 90 debugger produced by Allinea Software now part of Arm of Warwick, United Kingdom.

New!!: OpenMP and Allinea DDT · See more »

Allinea MAP

Allinea MAP, is an application profiler produced by Allinea Software now part of Arm.

New!!: OpenMP and Allinea MAP · See more »

AMD FireStream

AMD FireStream was AMD's brand name for their Radeon-based product line targeting stream processing and/or GPGPU in supercomputers.

New!!: OpenMP and AMD FireStream · See more »

Amdahl's law

In computer architecture, Amdahl's law (or Amdahl's argument) is a formula which gives the theoretical speedup in latency of the execution of a task at fixed workload that can be expected of a system whose resources are improved.

New!!: OpenMP and Amdahl's law · See more »

Application programming interface

In computer programming, an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building software.

New!!: OpenMP and Application programming interface · See more »

Automatic parallelization

Automatic parallelization, also auto parallelization, autoparallelization, or parallelization, the last one of which implies automation when used in context, refers to converting sequential code into multi-threaded or vectorized (or even both) code in order to utilize multiple processors simultaneously in a shared-memory multiprocessor (SMP) machine.

New!!: OpenMP and Automatic parallelization · See more »

Bulk synchronous parallel

The bulk synchronous parallel (BSP) abstract computer is a bridging model for designing parallel algorithms.

New!!: OpenMP and Bulk synchronous parallel · 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!!: OpenMP and C (programming language) · See more »

C++

C++ ("see plus plus") is a general-purpose programming language.

New!!: OpenMP and C++ · See more »

Cell software development

Software development for the Cell microprocessor involves a mixture of conventional development practices for the Power Architecture-compatible PPU core, and novel software development challenges with regard to the functionally reduced SPU coprocessors.

New!!: OpenMP and Cell software development · See more »

Chapel (programming language)

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

New!!: OpenMP and Chapel (programming language) · See more »

Cilk

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

New!!: OpenMP and Cilk · See more »

Compare-and-swap

In computer science, compare-and-swap (CAS) is an atomic instruction used in multithreading to achieve synchronization.

New!!: OpenMP and Compare-and-swap · 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!!: OpenMP and Computer cluster · See more »

Concurrency (computer science)

In computer science, concurrency refers to the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the final outcome.

New!!: OpenMP and Concurrency (computer science) · See more »

Concurrent computing

Concurrent computing is a form of computing in which several computations are executed during overlapping time periods—concurrently—instead of sequentially (one completing before the next starts).

New!!: OpenMP and Concurrent computing · See more »

Consortium

A consortium is an association of two or more individuals, companies, organizations or governments (or any combination of these entities) with the objective of participating in a common activity or pooling their resources for achieving a common goal.

New!!: OpenMP and Consortium · See more »

Cray

Cray Inc. is an American supercomputer manufacturer headquartered in Seattle, Washington.

New!!: OpenMP and Cray · 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!!: OpenMP and Cross-platform · See more »

CUDA

CUDA is a parallel computing platform and application programming interface (API) model created by Nvidia.

New!!: OpenMP and CUDA · See more »

Data parallelism

Data parallelism is parallelization across multiple processors in parallel computing environments.

New!!: OpenMP and Data parallelism · See more »

Desktop computer

A desktop computer is a personal computer designed for regular use at a single location on or near a desk or table due to its size and power requirements.

New!!: OpenMP and Desktop computer · See more »

Differential equation

A differential equation is a mathematical equation that relates some function with its derivatives.

New!!: OpenMP and Differential equation · See more »

Directive (programming)

In computer programming, a directive or pragma (from "pragmatic") is a language construct that specifies how a compiler (or other translator) should process its input.

New!!: OpenMP and Directive (programming) · See more »

Distributed shared memory

In computer science, distributed shared memory (DSM) is a form of memory architecture where physically separated memories can be addressed as one logically shared address space.

New!!: OpenMP and Distributed shared memory · See more »

Elsevier

Elsevier is an information and analytics company and one of the world's major providers of scientific, technical, and medical information.

New!!: OpenMP and Elsevier · See more »

Embarrassingly parallel

In parallel computing, an embarrassingly parallel workload or problem (also called perfectly parallel or pleasingly parallel) is one where little or no effort is needed to separate the problem into a number of parallel tasks.

New!!: OpenMP and Embarrassingly parallel · See more »

Enduro/X

Enduro/X is an open source middleware platform for distributed transaction processing.

New!!: OpenMP and Enduro/X · See more »

Environment variable

An environment variable is a dynamic-named value that can affect the way running processes will behave on a computer.

New!!: OpenMP and Environment variable · See more »

False sharing

In computer science, false sharing is a performance-degrading usage pattern that can arise in systems with distributed, coherent caches at the size of the smallest resource block managed by the caching mechanism.

New!!: OpenMP and False sharing · See more »

Fold (higher-order function)

In functional programming, fold (also termed reduce, accumulate, aggregate, compress, or inject) refers to a family of higher-order functions that analyze a recursive data structure and through use of a given combining operation, recombine the results of recursively processing its constituent parts, building up a return value.

New!!: OpenMP and Fold (higher-order function) · See more »

Fork (system call)

In computing, particularly in the context of the Unix operating system and its workalikes, fork is an operation whereby a process creates a copy of itself.

New!!: OpenMP and Fork (system call) · See more »

Fortran

Fortran (formerly FORTRAN, derived from Formula Translation) is a general-purpose, compiled imperative programming language that is especially suited to numeric computation and scientific computing.

New!!: OpenMP and Fortran · See more »

Fujitsu

is a Japanese multinational information technology equipment and services company headquartered in Tokyo, Japan.

New!!: OpenMP and Fujitsu · See more »

General-purpose computing on graphics processing units

General-purpose computing on graphics processing units (GPGPU, rarely GPGP) is the use of a graphics processing unit (GPU), which typically handles computation only for computer graphics, to perform computation in applications traditionally handled by the central processing unit (CPU).

New!!: OpenMP and General-purpose computing on graphics processing units · See more »

GNU Compiler Collection

The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages.

New!!: OpenMP and GNU Compiler Collection · See more »

Grand Central Dispatch

Grand Central Dispatch (GCD) is a technology developed by Apple Inc. to optimize application support for systems with multi-core processors and other symmetric multiprocessing systems.

New!!: OpenMP and Grand Central Dispatch · See more »

Granularity (parallel computing)

In parallel computing, granularity (or grain size) of a task is a measure of the amount of work (or computation) which is performed by that task.

New!!: OpenMP and Granularity (parallel computing) · See more »

Hardware acceleration

In computing, hardware acceleration is the use of computer hardware to perform some functions more efficiently than is possible in software running on a more general-purpose CPU.

New!!: OpenMP and Hardware acceleration · See more »

Heterogeneous System Architecture

Heterogeneous System Architecture (HSA) is a cross-vendor set of specifications that allow for the integration of central processing units and graphics processors on the same bus, with shared memory and tasks.

New!!: OpenMP and Heterogeneous System Architecture · See more »

Hewlett-Packard

The Hewlett-Packard Company (commonly referred to as HP) or shortened to Hewlett-Packard was an American multinational information technology company headquartered in Palo Alto, California.

New!!: OpenMP and Hewlett-Packard · See more »

HP-UX

HP-UX (from "Hewlett Packard Unix") is Hewlett Packard Enterprise's proprietary implementation of the Unix operating system, based on UNIX System V (initially System III) and first released in 1984.

New!!: OpenMP and HP-UX · See more »

IBM

The International Business Machines Corporation (IBM) is an American multinational technology company headquartered in Armonk, New York, United States, with operations in over 170 countries.

New!!: OpenMP and IBM · See more »

IBM AIX

AIX (Advanced Interactive eXecutive, pronounced) is a series of proprietary Unix operating systems developed and sold by IBM for several of its computer platforms.

New!!: OpenMP and IBM AIX · See more »

Include directive

Many programming languages and other computer files have a directive, often called include (as well as copy and import), that causes the contents of a second file to be inserted into the original file.

New!!: OpenMP and Include directive · See more »

Instruction set architecture

An instruction set architecture (ISA) is an abstract model of a computer.

New!!: OpenMP and Instruction set architecture · See more »

Intel

Intel Corporation (stylized as intel) is an American multinational corporation and technology company headquartered in Santa Clara, California, in the Silicon Valley.

New!!: OpenMP and Intel · See more »

Intel C++ Compiler

Intel C++ Compiler, also known as icc or icl, is a group of C and C++ compilers from Intel available for Windows, Mac, Linux, FreeBSD and Intel-based Android devices.

New!!: OpenMP and Intel C++ Compiler · See more »

Intel Parallel Studio

Intel Parallel Studio XE is a software development product developed by Intel that facilitates native code development on Windows, macOS and Linux in C++/C and Fortran for parallel computing.

New!!: OpenMP and Intel Parallel Studio · See more »

Library (computing)

In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development.

New!!: OpenMP and Library (computing) · See more »

Linearizability

In concurrent programming, an operation (or set of operations) is atomic, linearizable, indivisible or uninterruptible if it appears to the rest of the system to occur at once without being interrupted.

New!!: OpenMP and Linearizability · See more »

Linux

Linux is a family of free and open-source software operating systems built around the Linux kernel.

New!!: OpenMP and Linux · See more »

Load balancing (computing)

In computing, load balancing improves the distribution of workloads across multiple computing resources, such as computers, a computer cluster, network links, central processing units, or disk drives.

New!!: OpenMP and Load balancing (computing) · See more »

MacOS

macOS (previously and later) is a series of graphical operating systems developed and marketed by Apple Inc. since 2001.

New!!: OpenMP and MacOS · See more »

Map (parallel pattern)

Map is an idiom in parallel computing where a simple operation is applied to all elements of a sequence, potentially in parallel.

New!!: OpenMP and Map (parallel pattern) · See more »

Memory bandwidth

Memory bandwidth is the rate at which data can be read from or stored into a semiconductor memory by a processor.

New!!: OpenMP and Memory bandwidth · See more »

Message Passing Interface

Message Passing Interface (MPI) is a standardized and portable message-passing standard designed by a group of researchers from academia and industry to function on a wide variety of parallel computing architectures.

New!!: OpenMP and Message Passing Interface · See more »

Microsoft Windows

Microsoft Windows is a group of several graphical operating system families, all of which are developed, marketed, and sold by Microsoft.

New!!: OpenMP and Microsoft Windows · See more »

Multiprocessing

Multiprocessing is the use of two or more central processing units (CPUs) within a single computer system.

New!!: OpenMP and Multiprocessing · See more »

NEC

is a Japanese multinational provider of information technology (IT) services and products, headquartered in Minato, Tokyo, Japan.

New!!: OpenMP and NEC · See more »

Nonprofit organization

A non-profit organization (NPO), also known as a non-business entity or non-profit institution, is dedicated to furthering a particular social cause or advocating for a shared point of view.

New!!: OpenMP and Nonprofit organization · See more »

Numerical analysis

Numerical analysis is the study of algorithms that use numerical approximation (as opposed to general symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics).

New!!: OpenMP and Numerical analysis · See more »

Numerical integration

In numerical analysis, numerical integration constitutes a broad family of algorithms for calculating the numerical value of a definite integral, and by extension, the term is also sometimes used to describe the numerical solution of differential equations.

New!!: OpenMP and Numerical integration · See more »

Nvidia

Nvidia Corporation (most commonly referred to as Nvidia, stylized as NVIDIA, or (due to their logo) nVIDIA) is an American technology company incorporated in Delaware and based in Santa Clara, California.

New!!: OpenMP and Nvidia · See more »

OpenACC

OpenACC (for open accelerators) is a programming standard for parallel computing developed by Cray, CAPS, Nvidia and PGI.

New!!: OpenMP and OpenACC · See more »

OpenCL

OpenCL (Open Computing Language) is 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.

New!!: OpenMP and OpenCL · See more »

Operating system

An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.

New!!: OpenMP and Operating system · See more »

Oracle Corporation

Oracle Corporation is an American multinational computer technology corporation, headquartered in Redwood Shores, California.

New!!: OpenMP and Oracle Corporation · See more »

Oracle Developer Studio

Oracle Developer Studio, formerly named Oracle Solaris Studio, Sun Studio, Sun WorkShop, Forte Developer, and SunPro Compilers, is Oracle Corporation's flagship software development product for the Solaris and Linux operating systems.

New!!: OpenMP and Oracle Developer Studio · 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!!: OpenMP 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!!: OpenMP and Parallel programming model · See more »

Parallel Virtual Machine

Parallel Virtual Machine (PVM) is a software tool for parallel networking of computers.

New!!: OpenMP and Parallel Virtual Machine · See more »

Partitioned global address space

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

New!!: OpenMP and Partitioned global address space · See more »

POSIX Threads

POSIX Threads, usually referred to as pthreads, is an execution model that exists independently from a language, as well as a parallel execution model.

New!!: OpenMP and POSIX Threads · See more »

Processor affinity

Processor affinity, or CPU pinning, enables the binding and unbinding of a process or a thread to a central processing unit (CPU) or a range of CPUs, so that the process or thread will execute only on the designated CPU or CPUs rather than any CPU.

New!!: OpenMP and Processor affinity · See more »

Programmer

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

New!!: OpenMP and Programmer · See more »

Race condition

A race condition or race hazard is the behavior of an electronics, software, or other system where the output is dependent on the sequence or timing of other uncontrollable events.

New!!: OpenMP and Race condition · See more »

Red Hat

Red Hat, Inc. is an American multinational software company providing open-source software products to the enterprise community.

New!!: OpenMP and Red Hat · See more »

Rogue Wave Software

Rogue Wave Software is a United States software development company, now based in Louisville, Colorado.

New!!: OpenMP and Rogue Wave Software · See more »

ROSE (compiler framework)

The ROSE compiler framework, developed at Lawrence Livermore National Laboratory (LLNL), is an open-source software compiler infrastructure to generate source-to-source analyzers and translators for multiple source languages including C (C89, C98, Unified Parallel C (UPC)), C++ (C++98, C++11), Fortran (77, 95, 2003), OpenMP, Java, Python, and PHP.

New!!: OpenMP and ROSE (compiler framework) · See more »

Runtime system

A runtime system, also called run-time system, primarily implements portions of an execution model.

New!!: OpenMP and Runtime system · See more »

SequenceL

SequenceL is a general purpose functional programming language and auto-parallelizing (Parallel computing) compiler and tool set, whose primary design objectives are performance on multi-core processor hardware, ease of programming, platform portability/optimization, and code clarity and readability.

New!!: OpenMP and SequenceL · See more »

Shared memory

In computer science, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies.

New!!: OpenMP and Shared memory · See more »

SIMD

Single instruction, multiple data (SIMD) is a class of parallel computers in Flynn's taxonomy.

New!!: OpenMP and SIMD · See more »

Software portability

Portability in high-level computer programming is the usability of the same software in different environments.

New!!: OpenMP and Software portability · See more »

Solaris (operating system)

Solaris is a Unix operating system originally developed by Sun Microsystems.

New!!: OpenMP and Solaris (operating system) · See more »

Speedup

In computer architecture, speedup is a number that measures the relative performance of two systems processing the same problem.

New!!: OpenMP and Speedup · See more »

SPMD

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

New!!: OpenMP and SPMD · See more »

Springer Publishing

Springer Publishing is an American publishing company of academic journals and books, focusing on the fields of nursing, gerontology, psychology, social work, counseling, public health, and rehabilitation (neuropsychology).

New!!: OpenMP and Springer Publishing · See more »

Standard streams

In computer programming, standard streams are preconnected input and output communication channels between a computer program and its environment when it begins execution.

New!!: OpenMP and Standard streams · See more »

Subroutine

In computer programming, a subroutine is a sequence of program instructions that performs a specific task, packaged as a unit.

New!!: OpenMP and Subroutine · See more »

Supercomputer

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

New!!: OpenMP 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!!: OpenMP and Symmetric multiprocessing · See more »

Task parallelism

Task parallelism (also known as function parallelism and control parallelism) is a form of parallelization of computer code across multiple processors in parallel computing environments.

New!!: OpenMP and Task parallelism · See more »

Texas Instruments

Texas Instruments Inc. (TI) is an American technology company that designs and manufactures semiconductors and various integrated circuits, which it sells to electronics designers and manufacturers globally.

New!!: OpenMP and Texas Instruments · 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!!: OpenMP and Thread (computing) · See more »

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).

New!!: OpenMP and Unified Parallel C · 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!!: OpenMP and X10 (programming language) · See more »

Redirects here:

Open MP, Openmp, TCMP.

References

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

OutgoingIncoming
Hey! We are on Facebook now! »