# # spec file for package accelerate # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %global pkg_name accelerate Name: %{pkg_name} Version: 1.1.1.0 Release: 0 Summary: An embedded language for accelerated array processing License: BSD-3-Clause Group: Development/Libraries/Haskell URL: https://hackage.haskell.org/package/%{name} Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz BuildRequires: ghc-Cabal-devel BuildRequires: ghc-ansi-wl-pprint-devel BuildRequires: ghc-base-orphans-devel BuildRequires: ghc-containers-devel BuildRequires: ghc-deepseq-devel BuildRequires: ghc-directory-devel BuildRequires: ghc-exceptions-devel BuildRequires: ghc-fclabels-devel BuildRequires: ghc-filepath-devel BuildRequires: ghc-hashable-devel BuildRequires: ghc-hashtables-devel BuildRequires: ghc-mtl-devel BuildRequires: ghc-rpm-macros BuildRequires: ghc-template-haskell-devel BuildRequires: ghc-time-devel BuildRequires: ghc-transformers-devel BuildRequires: ghc-unique-devel BuildRequires: ghc-unix-devel BuildRequires: ghc-unordered-containers-devel %description 'Data.Array.Accelerate' defines an embedded array language for computations for high-performance computing in Haskell. Computations on multi-dimensional, regular arrays are expressed in the form of parameterised collective operations, such as maps, reductions, and permutations. These computations may then be online compiled and executed on a range of architectures. [/A simple example/] As a simple example, consider the computation of a dot product of two vectors of floating point numbers: > dotp :: Acc (Vector Float) -> Acc (Vector Float) -> Acc (Scalar Float) > dotp xs ys = fold (+) 0 (zipWith (*) xs ys) Except for the type, this code is almost the same as the corresponding Haskell code on lists of floats. The types indicate that the computation may be online-compiled for performance - for example, using 'Data.Array.Accelerate.LLVM.PTX' it may be on-the-fly off-loaded to the GPU. [/Additional components/] The following supported add-ons are available as separate packages. Install them from Hackage with 'cabal install ' * 'accelerate-llvm-native': Backend supporting parallel execution on multicore CPUs. * 'accelerate-llvm-ptx': Backend supporting parallel execution on CUDA-capable NVIDIA GPUs. Requires a GPU with compute capability 2.0 or greater. See the following table for supported GPUs: * 'accelerate-examples': Computational kernels and applications showcasing the use of Accelerate as well as a regression test suite, supporting function and performance testing. * 'accelerate-io': Fast conversions between Accelerate arrays and other array formats (including vector and repa). * 'accelerate-fft': Discrete Fourier transforms, with FFI bindings to optimised implementations. * 'accelerate-bignum': Fixed-width large integer arithmetic. * 'colour-accelerate': Colour representations in Accelerate (RGB, sRGB, HSV, and HSL). * 'gloss-accelerate': Generate gloss pictures from Accelerate. * 'gloss-raster-accelerate': Parallel rendering of raster images and animations. * 'lens-accelerate': Lens operators for Accelerate types. * 'linear-accelerate': Linear vector spaces in Accelerate. * 'mwc-random-accelerate': Generate Accelerate arrays filled with high quality pseudorandom numbers. [/Examples and documentation/] Haddock documentation is included in the package The 'accelerate-examples' package demonstrates a range of computational kernels and several complete applications, including: * An implementation of the Canny edge detection algorithm * An interactive Mandelbrot set generator * A particle-based simulation of stable fluid flows * An /n/-body simulation of gravitational attraction between solid particles * An implementation of the PageRank algorithm * A simple interactive ray tracer * A particle based simulation of stable fluid flows * A cellular automata simulation * A "password recovery" tool, for dictionary lookup of MD5 hashes 'lulesh-accelerate' is an implementation of the Livermore Unstructured Lagrangian Explicit Shock Hydrodynamics (LULESH) mini-app. LULESH represents a typical hydrodynamics code such as ALE3D, but is highly simplified and hard-coded to solve the Sedov blast problem on an unstructured hexahedron mesh. [/Mailing list and contacts/] * Mailing list: (discussion of both use and development welcome). * Sign up for the mailing list here: * Bug reports and issue tracking: . %package -n ghc-%{name} Summary: Haskell %{name} library Group: System/Libraries %description -n ghc-%{name} This package provides the Haskell %{name} shared library. %package -n ghc-%{name}-devel Summary: Haskell %{name} library development files Group: Development/Libraries/Haskell Requires: ghc-%{name} = %{version}-%{release} Requires: ghc-compiler = %{ghc_version} Requires(post): ghc-compiler = %{ghc_version} Requires(postun): ghc-compiler = %{ghc_version} %description -n ghc-%{name}-devel This package provides the Haskell %{name} library development files. %prep %setup -q %build %ghc_lib_build %install %ghc_lib_install %post -n ghc-%{name}-devel %ghc_pkg_recache %postun -n ghc-%{name}-devel %ghc_pkg_recache %files %license LICENSE %doc CHANGELOG.md README.md %files -n ghc-%{name} -f ghc-%{name}.files %license LICENSE %files -n ghc-%{name}-devel -f ghc-%{name}-devel.files %doc CHANGELOG.md README.md %changelog