加速——高演算能力向けの埋め込み型言語による配列計算
## Japanese Translation:
Data.Array.Accelerate は、マップ、リダクション、置換などのパラメータ付き集団演算を用いて、多次元の規則的な配列に対する高性能計算のための埋め込み言語を定義する。同ライブラリは LLVM PTX を用いた NVIDIA GPU(グラフィックス処理ユニット)における CUDA 対応のコンパイル機能を有し、最適化機能として robust な性能を発揮する。また、マルチコア CPU 上での実行も可能である。Hackage および GitHub(AccelerateHS/accelerate)からアクセス可能で、インストールには GHCup ツールチェーンが用いられる。BLAS や FFT などの科学計算エコシステムとシームレスに統合される。エコシステムには `accelerate-llvm-native`(CPU)、`accelerate-llvm-ptx`(GPU)、`accelerate-bignum`、`accelerate-fft`、`accelerate-blas` など、ドメイン固有のツールや各種 I/O ユーティリティ(`accelerate-io*`)などを含む多数の追加パッケージが含まれる。使用可能な例は多岐にわたり、単純な点積計算から LULESH ベンチマーク、分子動力学ソルバー、N-体シミュレーション、エッジ検出やレイ・トレーシングなどのグラフィックスアプリケーションまでをカバーする。プロジェクトはコア開発者である Trevor McDonell および Manuel Chakravarty の指導のもと、より広いコミュニティによって支えられており、継続的な新機能の統合と要望された機能の実装を通じて、迅速なイノベーションを可能にする動的な環境を提供する。ただし、API はまだ安定していない点に注意が必要であり、完全な成熟に至るまでインターフェースの一部は変更の対象となり得るため、ライブラリの進化に合わせてコードの適応が求められる。
## Text to translate:
Data.Array.Accelerate defines an embedded language for high-performance computing on multi-dimensional regular arrays using parameterised collective operations like maps, reductions, and permutations. It compiles computations online to run on multicore CPUs or CUDA-enabled NVIDIA GPUs (compute capability 3.0+), utilizing LLVM PTX for graphics processing units as part of its robust optimization capabilities. The library is accessible via Hackage and GitHub (AccelerateHS/accelerate) and relies on the GHCup toolchain for installation, integrating seamlessly with scientific ecosystems like BLAS and FFT. Its ecosystem includes extensive add-on packages such as `accelerate-llvm-native` for CPUs, `accelerate-llvm-ptx` for GPUs, and domain-specific tools like `accelerate-bignum`, `accelerate-fft`, `accelerate-blas`, and various I/O utilities (`accelerate-io*`). Users can leverage this framework with a vast array of examples ranging from simple tasks like dot products to complex benchmarks including LULESH, molecular dynamics solvers, N-body simulations, and graphics applications like edge detection and ray-tracing. Led by core developers Trevor McDonell and Manuel Chakravarty along with the broader community, the project supports a dynamic environment for rapid innovation through continuous integration of new capabilities and requested features. However, users should note that the API is not yet stable; parts of the interface remain subject to change before full maturity is reached, requiring developers to adapt their code as the library evolves.