You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>This will install the current stable release of Accelerate from <ahref="https://hackage.haskell.org">Hackage</a>. If you would like to instead install the latest in-development version, see how to <ahref="/get-started/install-from-github.html">install from GitHub</a>.</p>
113
113
<p>This is sufficient to write programs in Accelerate as well as execute them using the included interpreter backend.<ahref="#fn1" class="footnoteRef" id="fnref1"><sup>1</sup></a> For good performance however we also need to install one (or both) of the LLVM backends, which will compile Accelerate programs to native code.</p>
114
-
<p>Install a version of the <code>llvm-general</code> package suitable for the version of LLVM installed on your system. The first two numbers of the version of LLVM and the <code>llvm-general</code> package must match. We must also install with shared library support so that we can use <code>llvm-general</code> from within <code>ghci</code>(and Template Haskell). For example, if you have LLVM-3.8 installed:</p>
<p>Install a version of the <code>llvm-hs</code> package suitable for the version of LLVM installed on your system. The first two numbers of the version of LLVM and the <code>llvm-hs</code> package must match. We must also install with shared library support so that we can use <code>llvm-hs</code> from within <code>ghci</code> and Template Haskell. For example, if you have LLVM-4.0 installed:</p>
<p>Download and install <ahref="https://www.haskell.org/downloads/linux">GHC</a>. Binary package-based installers are available for a number of Linux distributions, as described on the linked site. Accelerate is currently tested with GHC version 7.10.x and 8.0.x, but should also work with 7.8.x. Remember which version of GHC you install, as this will be important in the next step.</p>
114
+
<p>Download and install <ahref="https://www.haskell.org/downloads/linux">GHC</a>. Binary package-based installers are available for a number of Linux distributions, as described on the linked site. Accelerate is currently tested with GHC version 8.0.x and 7.10.x, but should also work with 7.8.x.</p>
115
115
<h3id="llvm">1.2 LLVM</h3>
116
116
<p>Executing an Accelerate program differs from that of regular Haskell programs. Programs written in Accelerate require both the Accelerate library, which contains the operations of the language we use to write programs, as well as a (or several) backend(s) which will compile and execute the program for a particular target architecture, such as CPUs or GPUs.</p>
117
-
<p>The two primary Accelerate backends are currently based on <ahref="http://llvm.org">LLVM</a>, a mature optimising compiler targeting several architectures. Binary distributions of LLVM are available for Debian and Ubuntu systems at <ahref="http://apt.llvm.org">apt.llvm.org</a>, or can be compiled manually from the source releases found <ahref="http://llvm.org/releases/download.html">here</a>. If compiling from source be sure to build LLVM with shared library support.</p>
118
-
<p>Example process of installing LLVM-3.8 on Ubuntu-16.04:</p>
117
+
<p>The two primary Accelerate backends are currently based on <ahref="http://llvm.org">LLVM</a>, a mature optimising compiler targeting several architectures. Binary distributions of LLVM are available for Debian and Ubuntu systems at <ahref="http://apt.llvm.org">apt.llvm.org</a>, or can be compiled manually from the source releases found <ahref="http://llvm.org/releases/download.html">here</a>. If compiling from source be sure to build LLVM with the <code>libLLVM</code>shared library.<ahref="#fn1" class="footnoteRef" id="fnref1"><sup>1</sup></a></p>
118
+
<p>Example process of installing LLVM-4.0 on Ubuntu-16.04:</p>
<p>The LLVM-based Accelerate packages are currently tested with LLVM versions 3.5, 3.8, and 3.9. However, LLVM-3.5 is currently not compatible with GHC-8.0. Please contact us if this is a problem for you. Remember which version of LLVM you install.</p>
129
128
<h3id="cuda-optional">1.3 CUDA (optional)</h3>
130
129
<p>If you have a CUDA capable NVIDIA GPU (see the <ahref="https://en.wikipedia.org/wiki/CUDA#GPUs_supported">list of supported devices</a>) and would like to run Accelerate programs on the GPU, you will need to download and install the CUDA toolkit available <ahref="https://developer.nvidia.com/cuda-downloads">here</a>.</p>
<p>This will install the current stable release of Accelerate from <ahref="https://hackage.haskell.org">Hackage</a>. If you would like to instead install the latest in-development version, see how to <ahref="/get-started/install-from-github.html">install from GitHub</a>.</p>
135
-
<p>This is sufficient to write programs in Accelerate as well as execute them using the included interpreter backend.<ahref="#fn1" class="footnoteRef" id="fnref1"><sup>1</sup></a> For good performance however we also need to install one (or both) of the LLVM backends, which will compile Accelerate programs to native code.</p>
136
-
<p>Install a version of the <code>llvm-general</code> package suitable for the version of LLVM installed in step <ahref="#llvm">1.2</a>.<ahref="#fn2" class="footnoteRef" id="fnref2"><sup>2</sup></a>The first two numbers of the version of LLVM and the <code>llvm-general</code> package must match. We must also install with shared library support so that we can use <code>llvm-general</code> from within <code>ghci</code>(and Template Haskell). Continuing the example above where we installed LLVM-3.8:</p>
<p>This is sufficient to write programs in Accelerate as well as execute them using the included interpreter backend.<ahref="#fn2" class="footnoteRef" id="fnref2"><sup>2</sup></a> For good performance however we also need to install one (or both) of the LLVM backends, which will compile Accelerate programs to native code.</p>
135
+
<p>Install a version of the <code>llvm-hs</code> package suitable for the version of LLVM installed in step <ahref="#llvm">1.2</a>.The first two numbers of the version of LLVM and the <code>llvm-hs</code> package must match. We must also install with shared library support so that we can use <code>llvm-hs</code> from within <code>ghci</code> and Template Haskell. Continuing the example above where we installed LLVM-4.0:</p>
<p>(Optional) If you have a CUDA capable GPU and installed the CUDA toolkit in step <ahref="#cuda-optional">1.3</a>, you can also install the Accelerate backend for NVIDIA GPUs:</p>
@@ -171,8 +170,8 @@ <h2 id="next-steps">4. Next steps</h2>
171
170
<divclass="footnotes">
172
171
<hr/>
173
172
<ol>
174
-
<liid="fn1"><p>Although the core <code>accelerate</code>package includes an interpreter that can be used to run Accelerate programs, its performance is fairly poor as it is designed as a reference implementation of the language semantics, rather than for performance.<ahref="#fnref1">↩</a></p></li>
175
-
<liid="fn2"><p>This constraint is also why we currently can not support LLVM-3.6, LLVM-3.7, or LLVM-3.5 on GHC-8.0; <code>llvm-general</code>is unfortunately not currently available for those targets.<ahref="#fnref2">↩</a></p></li>
173
+
<liid="fn1"><p>Include the build options <code>-DLLVM_BUILD_LLVM_DYLIB=True</code>and <code>-DLLVM_LINK_LLVM_DYLIB=True</code>.<ahref="#fnref1">↩</a></p></li>
174
+
<liid="fn2"><p>Although the core <code>accelerate</code> package includes an interpreter that can be used to run Accelerate programs, its performance is fairly poor as it is designed as a reference implementation of the language semantics, rather than for performance.<ahref="#fnref2">↩</a></p></li>
Copy file name to clipboardExpand all lines: get-started/macos.html
+8-9Lines changed: 8 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -114,20 +114,19 @@ <h3 id="ghc">1.1 GHC</h3>
114
114
<p>Download and install <ahref="https://www.haskell.org/platform/mac.html">GHC</a>. The minimal binary distribution contains GHC-8.0 plus build tools such as <code>cabal</code>, and is the generally recommended option over the full install (which additionally includes some pre-installed libraries). Instructions for installing via the <ahref="http://brew.sh">Homebrew</a> or <ahref="https://www.macports.org">MacPorts</a> package managers are also available on that page.</p>
115
115
<h3id="llvm">1.2 LLVM</h3>
116
116
<p>Executing an Accelerate program differs from that of regular Haskell programs. Programs written in Accelerate require both the Accelerate library, which contains the operations of the language we use to write programs, as well as a (or several) backend(s) which will compile and execute the program for a particular target architecture, such as CPUs or GPUs.</p>
117
-
<p>The two primary Accelerate backends are currently based on <ahref="http://llvm.org">LLVM</a>, a mature optimising compiler targeting several architectures. LLVM is available through both the Homebrew and MacPorts package managers, or can be compiled manually from the source releases found <ahref="http://llvm.org/releases/download.html">here</a>. If compiling from source be sure to build LLVM with shared library support.</p>
118
-
<p>Example of installing LLVM-3.8 via <ahref="http://brew.sh">Homebrew</a>:</p>
117
+
<p>The two primary Accelerate backends are currently based on <ahref="http://llvm.org">LLVM</a>, a mature optimising compiler targeting several architectures. LLVM is available through both the Homebrew and MacPorts package managers, or can be compiled manually from the source releases found <ahref="http://llvm.org/releases/download.html">here</a>. If compiling from source be sure to build LLVM with the <code>libLLVM</code>shared library.<ahref="#fn1" class="footnoteRef" id="fnref1"><sup>1</sup></a></p>
118
+
<p>Example of installing LLVM-4.0 via <ahref="http://brew.sh">Homebrew</a>:</p>
<p>The LLVM-based Accelerate packages are currently tested with LLVM versions 3.5, 3.8, and 3.9. However, LLVM-3.5 is currently not compatible with GHC-8.0. Please contact us if this is a problem for you.</p>
<p>If you have a CUDA capable NVIDIA GPU (see the <ahref="https://en.wikipedia.org/wiki/CUDA#GPUs_supported">list of supported devices</a>) and would like to run Accelerate programs on the GPU, you will need to download and install the CUDA toolkit available <ahref="https://developer.nvidia.com/cuda-downloads">here</a>.</p>
<p>This will install the current stable release of Accelerate from <ahref="https://hackage.haskell.org">Hackage</a>. If you would like to instead install the latest in-development version, see how to <ahref="/get-started/install-from-github.html">install from GitHub</a>.</p>
128
-
<p>This is sufficient to write programs in Accelerate as well as execute them using the included interpreter backend.<ahref="#fn1" class="footnoteRef" id="fnref1"><sup>1</sup></a> For good performance however we also need to install one (or both) of the LLVM backends, which will compile Accelerate programs to native code.</p>
129
-
<p>Install a version of the <code>llvm-general</code> package suitable for the version of LLVM installed in step <ahref="#llvm">1.2</a>.<ahref="#fn2" class="footnoteRef" id="fnref2"><sup>2</sup></a>The first two numbers of the version of LLVM and the <code>llvm-general</code> package must match. We must also install with shared library support so that we can use <code>llvm-general</code> from within <code>ghci</code>(and Template Haskell). Continuing the example above where we installed LLVM-3.8:</p>
<p>This is sufficient to write programs in Accelerate as well as execute them using the included interpreter backend.<ahref="#fn2" class="footnoteRef" id="fnref2"><sup>2</sup></a> For good performance however we also need to install one (or both) of the LLVM backends, which will compile Accelerate programs to native code.</p>
128
+
<p>Install a version of the <code>llvm-hs</code> package suitable for the version of LLVM installed in step <ahref="#llvm">1.2</a>.The first two numbers of the version of LLVM and the <code>llvm-hs</code> package must match. We must also install with shared library support so that we can use <code>llvm-hs</code> from within <code>ghci</code> and Template Haskell. Continuing the example above where we installed LLVM-4.0:</p>
<p>(Optional) If you have a CUDA capable GPU and installed the CUDA toolkit in step <ahref="#cuda-optional">1.3</a>, you can also install the Accelerate backend for NVIDIA GPUs:</p>
@@ -164,8 +163,8 @@ <h2 id="next-steps">4. Next steps</h2>
164
163
<divclass="footnotes">
165
164
<hr/>
166
165
<ol>
167
-
<liid="fn1"><p>Although the core <code>accelerate</code>package includes an interpreter that can be used to run Accelerate programs, its performance is fairly poor as it is designed as a reference implementation of the language semantics, rather than for performance.<ahref="#fnref1">↩</a></p></li>
168
-
<liid="fn2"><p>This constraint is also why we currently can not support LLVM-3.6, LLVM-3.7, or LLVM-3.5 on GHC-8.0; <code>llvm-general</code>is unfortunately not currently available for those targets.<ahref="#fnref2">↩</a></p></li>
166
+
<liid="fn1"><p>Include the build options <code>-DLLVM_BUILD_LLVM_DYLIB=True</code>and <code>-DLLVM_LINK_LLVM_DYLIB=True</code>.<ahref="#fnref1">↩</a></p></li>
167
+
<liid="fn2"><p>Although the core <code>accelerate</code> package includes an interpreter that can be used to run Accelerate programs, its performance is fairly poor as it is designed as a reference implementation of the language semantics, rather than for performance.<ahref="#fnref2">↩</a></p></li>
0 commit comments