@hackage Paraiso0.3.1.5
a code generator for partial differential equations solvers.
Installation
Dependencies (13)
Dependents (1)
@hackage/acme-everything
Package Flags
test
(on by default)
Build the executable to run unit tests
The purpose of this project is to design a high-level language for implementing explicit partial-differential equations solvers on supercomputers as well as today’s advanced personal computers. A language to describe the knowledge on algebraic concepts, physical equations, integration algorithms, optimization techniques, and hardware designs --- all the necessaries of the simulations in abstract, modular, re-usable and combinable forms.
How to use
The module Language.Paraiso.OM.Builder
contains the
Builder
monad, its typeclass instance declarations and
functions that can be used to build Paraiso
programs. Reserved words are load
, store
, imm
,
loadIndex
, loadSize
, shift
, reduce
and
broadcast
.
Paraiso frontend uses Data.Tensor.Typelevel
http://hackage.haskell.org/package/typelevel-tensor,
the library for tensor calculus of
arbitrary rank and dimension. Vector
and Axis
are two main
concepts. The type Vector
represents rank-1 tensor, and tensors
of higher ranks are recursively defined as Vector
of
Vector
s. With Axis
you can refer to the components of
Vector
s, compose them, or contract them. See the wiki
http://www.paraiso-lang.org/wiki/ and the paper
http://arxiv.org/abs/1204.4779 for more detail. Examples
are in https://github.com/nushio3/Paraiso/tree/master/examples.
0.3.1.5 : Catch up to stack lts-3.16/ghc 7.10.2, thanks to Justus Sagemüller's patch!
0.3.0.0 Doughnut : refined interface and support for cyclic boundary conditions.
0.2.0.0 Companion : genetic algorithm support for automated tuning.
0.1.0.0 Binary : enhanced backend, code generator for OpenMP and CUDA
0.0.0.0 Atmosphere : code generator for single CPU