PVM: a framework for parallel distributed computing
Concurrency: Practice and Experience
LAPACK: a portable linear algebra library for high-performance computers
Proceedings of the 1990 ACM/IEEE conference on Supercomputing
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
The evolution of Erlang drivers and the Erlang driver toolkit
Proceedings of the 2002 ACM SIGPLAN workshop on Erlang
MPI: A Message-Passing Interface
MPI: A Message-Passing Interface
Automatically Tuned Linear Algebra Software
Automatically Tuned Linear Algebra Software
Dryverl: a flexible Erlang/C binding compiler
Proceedings of the 2006 ACM SIGPLAN workshop on Erlang
SWIG: an easy to use tool for integrating scripting languages with C and C++
TCLTK'96 Proceedings of the 4th conference on USENIX Tcl/Tk Workshop, 1996 - Volume 4
Using many-core coprocessor to boost up Erlang VM
Proceedings of the twelfth ACM SIGPLAN workshop on Erlang
Hi-index | 0.00 |
High-performance Technical Computing (HPTC) is a branch of HPC (High-performance Computing) that deals with scientific applications, such as physics simulations. Due to its numerical nature, it has been traditionally based on low-level or mathematically-oriented languages (C, C++, Fortran), extended with libraries that implement remote execution and inter-process communication (like MPI and PVM). But those libraries just provide what Erlang does out-of-the-box: networking, process distribution, concurrency, interprocess communication and fault tolerance. So, is it possible to use Erlang as a foundation for developing HPTC applications? This paper shows our experiences in using Erlang for distributed number-crunching systems. We introduce two extensions: a simple and efficient foreign function interface (FFI), and an Erlang binding for numerical libraries. We use them as a basis for developing a simple mathematically-oriented programming language (in the style of Matlab™) compiled into Core Erlang. These tools are later used for creating a HPTC framework (based on message-passing) and an IDE for distributed applications. The results of this research and development show that Erlang/OTP can be used as a platform for developing large and scalable numerical applications.