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
Hello community,
here is the log from the commit of package ghc-accelerate for openSUSE:Factory checked in at 2017-08-31 20:46:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-accelerate (Old)
and /work/SRC/openSUSE:Factory/.ghc-accelerate.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-accelerate"
Thu Aug 31 20:46:10 2017 rev:2 rq:513198 version:1.0.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-accelerate/ghc-accelerate.changes 2016-09-25 14:30:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-accelerate.new/ghc-accelerate.changes 2017-08-31 20:46:12.337841163 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:07:20 UTC 2017 - psimons@suse.com
+
+- Update to version 1.0.0.0 revision 1.
+
+-------------------------------------------------------------------
Old:
----
1.cabal
accelerate-0.15.1.0.tar.gz
New:
----
accelerate-1.0.0.0.tar.gz
accelerate.cabal
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-accelerate.spec ++++++
--- /var/tmp/diff_new_pack.5YgF4u/_old 2017-08-31 20:46:13.809634577 +0200
+++ /var/tmp/diff_new_pack.5YgF4u/_new 2017-08-31 20:46:13.813634016 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-accelerate
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 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
@@ -18,27 +18,34 @@
%global pkg_name accelerate
Name: ghc-%{pkg_name}
-Version: 0.15.1.0
+Version: 1.0.0.0
Release: 0
Summary: An embedded language for accelerated array processing
License: BSD-3-Clause
-Group: System/Libraries
+Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
-# Begin cabal-rpm deps:
-BuildRequires: ghc-array-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-pretty-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
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-# End cabal-rpm deps
%description
'Data.Array.Accelerate' defines an embedded array language for computations for
@@ -58,58 +65,55 @@
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.CUDA' it may be on-the-fly off-loaded to the GPU.
+'Data.Array.Accelerate.LLVM.PTX' it may be on-the-fly off-loaded to the GPU.
-[/Available backends/]
+[/Additional components/]
-Currently, there are two backends:
+The following supported add-ons are available as separate packages.
+Install them from Hackage with 'cabal install <package>'
-1. An interpreter that serves as a reference implementation of the intended
-semantics of the language, which is included in this package.
+* 'accelerate-llvm-native': Backend supporting parallel execution on multicore
+CPUs.
-2. A CUDA backend generating code for CUDA-capable NVIDIA GPUs:
-http://hackage.haskell.org/package/accelerate-cuda
+* '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:
+http://en.wikipedia.org/wiki/CUDA#Supported_GPUs
-Several experimental and/or incomplete backends also exist. If you are
-particularly interested in any of these, especially with helping to finish
-them, please contact us.
+* 'accelerate-cuda': Backend targeting CUDA-enabled NVIDIA GPUs.
+Requires a GPU with compute compatibility 1.2 or greater. /NOTE: This backend
+is being deprecated in favour of 'accelerate-llvm-ptx'./
-1. Cilk/ICC and OpenCL:
-https://github.com/AccelerateHS/accelerate-backend-kit
+* 'accelerate-examples': Computational kernels and applications showcasing the
+use of Accelerate as well as a regression test suite, supporting function and
+performance testing.
-2. Another OpenCL backend: https://github.com/HIPERFIT/accelerate-opencl
+* 'accelerate-io': Fast conversions between Accelerate arrays and other array
+formats (including vector and repa).
-3. A backend to the Repa array library:
-https://github.com/blambo/accelerate-repa
+* 'accelerate-fft': Discrete Fourier transforms, with FFI bindings to optimised
+implementations.
-4. An infrastructure for generating LLVM code, with backends targeting
-multicore CPUs and NVIDIA GPUs:
-https://github.com/AccelerateHS/accelerate-llvm/
+* 'accelerate-bignum': Fixed-width large integer arithmetic.
-[/Additional components/]
+* 'colour-accelerate': Colour representations in Accelerate (RGB, sRGB, HSV,
+and HSL).
-The following support packages are available:
-
-1. 'accelerate-cuda': A high-performance parallel backend targeting
-CUDA-enabled NVIDIA GPUs. Requires the NVIDIA CUDA SDK and, for full
-functionality, hardware with compute capability 1.1 or greater. See the table
-on Wikipedia for supported GPUs:
-http://en.wikipedia.org/wiki/CUDA#Supported_GPUs
+* 'gloss-accelerate': Generate gloss pictures from Accelerate.
-2. 'accelerate-examples': Computational kernels and applications showcasing
-/Accelerate/, as well as performance and regression tests.
+* 'gloss-raster-accelerate': Parallel rendering of raster images and
+animations.
-3. 'accelerate-io': Fast conversion between /Accelerate/ arrays and other
-formats, including 'vector' and 'repa'.
+* 'lens-accelerate': Lens operators for Accelerate types.
-4. 'accelerate-fft': Computation of Discrete Fourier Transforms.
+* 'linear-accelerate': Linear vector spaces in Accelerate.
-Install them from Hackage with 'cabal install PACKAGE'
+* 'mwc-random-accelerate': Generate Accelerate arrays filled with high quality
+pseudorandom numbers.
[/Examples and documentation/]
-Haddock documentation is included in the package, and a tutorial is available
-on the GitHub wiki: https://github.com/AccelerateHS/accelerate/wiki
+Haddock documentation is included in the package
The 'accelerate-examples' package demonstrates a range of computational kernels
and several complete applications, including:
@@ -122,11 +126,20 @@
* 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
-* A simple interactive ray tracer
+'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/]
@@ -137,18 +150,7 @@
http://groups.google.com/group/accelerate-haskell
* Bug reports and issue tracking:
-https://github.com/AccelerateHS/accelerate/issues
-
-[/Hackage note/]
-
-The module documentation list generated by Hackage is incorrect. The only
-exposed modules should be:
-
-* "Data.Array.Accelerate"
-
-* "Data.Array.Accelerate.Interpreter"
-
-* "Data.Array.Accelerate.Data.Complex" .
+https://github.com/AccelerateHS/accelerate/issues .
%package devel
Summary: Haskell %{pkg_name} library development files
@@ -165,15 +167,12 @@
%setup -q -n %{pkg_name}-%{version}
cp -p %{SOURCE1} %{pkg_name}.cabal
-
%build
%ghc_lib_build
-
%install
%ghc_lib_install
-
%post devel
%ghc_pkg_recache
++++++ accelerate-0.15.1.0.tar.gz -> accelerate-1.0.0.0.tar.gz ++++++
++++ 29240 lines of diff (skipped)
++++++ accelerate.cabal ++++++
Name: accelerate
Version: 1.0.0.0
x-revision: 1
Cabal-version: >= 1.8
Tested-with: GHC >= 7.8
Build-type: Simple
Synopsis: An embedded language for accelerated array processing
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:
.
them from Hackage with @cabal install \