Platform and Library Resources
Every module in our collection requires a given type of hardware (a platform), often running a particular operating system, combined with certain software libraries or packages. We have or are creating instructional modules for these common platform and library/package combinations used in parallel and distributed computing (PDC):
- Single multicore, shared memory machine using the OpenMP library
- Cluster of multicore machines using an MPI library (either OpenMPI or MPICH2)
- Single multicore machine with a GPU co-processor
- Cluster of multicore machines with GPU co-processors using an MPI library
- Single multicore machine with an Intel Xeon Phi co-processor
- Large cluster of machines for fully distributed Map-Reduce computing using hadoop
Platform Setup, Libraries, and Packages
Computational Modelshowing only Shared Memory Show all Computational Model
Results 1 - 4 of 4 matches
The standard Java package java.util.concurrent contains utility classes which are useful in implementing concurrent programming in Java. This package includes a few small standardized extensible frameworks, as well as some classes that provide useful functionality and are otherwise tedious or difficult to implement.
Taken from OpenMP's mission statement: "The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in C/C++ and Fortran on all architectures, including Unix platforms and Windows NT platforms. Jointly defined by a group of major computer hardware and software vendors, OpenMP is a portable, scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from the desktop to the supercomputer."
Intel® Threading Building Blocks
Threading Building Blocks (TBB), created by Intel®, offers an approach to implementing parallelism in a C++ program. TBB is a library that helps programmers take advantage of multi-core processor performance without having to be an expert on threading. The library represents a higher-level, task-based parallelism that abstracts platform details and threading mechanisms for scalability and performance.
Bootable Cluster CD
The Bootable Cluster CD (BCCD) is a software platform designed to allow parallel programming and distributed computing instruction to concentrate on the education and not the computing infrastructure necessary for it. It is an open source Knoppix-based live CD that provides the tools necessary to teach parallel and distributed computing (e.g., GNU compiler suite, multiple MPI bindings, OpenMP, CUDA, Java) that can be run on either a single system or on a network of computers that are automatically configured using custom networking tools to form an ad hoc temporary cluster.