summaryrefslogtreecommitdiff
path: root/docs/users_guide
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2018-06-02 11:56:58 -0400
committerBen Gamari <ben@smart-cactus.org>2018-06-02 16:21:12 -0400
commitfaee23bb69ca813296da484bc177f4480bcaee9f (patch)
tree28e1c99f0de9d505c1df81ae7459839f5db4121c /docs/users_guide
parent13a86606e51400bc2a81a0e04cfbb94ada5d2620 (diff)
downloadhaskell-faee23bb69ca813296da484bc177f4480bcaee9f.tar.gz
vectorise: Put it out of its misery
Poor DPH and its vectoriser have long been languishing; sadly it seems there is little chance that the effort will be rekindled. Every few years we discuss what to do with this mass of code and at least once we have agreed that it should be archived on a branch and removed from `master`. Here we do just that, eliminating heaps of dead code in the process. Here we drop the ParallelArrays extension, the vectoriser, and the `vector` and `primitive` submodules. Test Plan: Validate Reviewers: simonpj, simonmar, hvr, goldfire, alanz Reviewed By: simonmar Subscribers: goldfire, rwbarton, thomie, mpickering, carter Differential Revision: https://phabricator.haskell.org/D4761
Diffstat (limited to 'docs/users_guide')
-rw-r--r--docs/users_guide/debugging.rst13
-rw-r--r--docs/users_guide/extending_ghc.rst2
-rw-r--r--docs/users_guide/glasgow_exts.rst1
-rw-r--r--docs/users_guide/parallel.rst10
-rw-r--r--docs/users_guide/using-optimisation.rst52
5 files changed, 1 insertions, 77 deletions
diff --git a/docs/users_guide/debugging.rst b/docs/users_guide/debugging.rst
index dd9af944f0..4e0be937f4 100644
--- a/docs/users_guide/debugging.rst
+++ b/docs/users_guide/debugging.rst
@@ -299,13 +299,6 @@ subexpression elimination pass.
that ``foo`` is not being inlined. You can pass ``-dinline-check foo`` and
you will see a report about why ``foo`` is not inlined.
-
-.. ghc-flag:: -ddump-vect
- :shortdesc: Dump vectoriser input and output
- :type: dynamic
-
- Dumps the output of the vectoriser.
-
.. ghc-flag:: -ddump-simpl
:shortdesc: Dump final simplifier output
:type: dynamic
@@ -351,12 +344,6 @@ subexpression elimination pass.
Dump "occurrence analysis" output
-.. ghc-flag:: -ddump-vt-trace
- :shortdesc: Trace vectoriser
- :type: dynamic
-
- Make the vectoriser be *real* chatty about what it is up to.
-
.. ghc-flag:: -ddump-prep
:shortdesc: Dump prepared core
:type: dynamic
diff --git a/docs/users_guide/extending_ghc.rst b/docs/users_guide/extending_ghc.rst
index d8eaab9419..bb31b0783a 100644
--- a/docs/users_guide/extending_ghc.rst
+++ b/docs/users_guide/extending_ghc.rst
@@ -352,7 +352,7 @@ Core plugins in more detail
``CoreToDo`` is effectively a data type that describes all the kinds of
optimization passes GHC does on Core. There are passes for
-simplification, CSE, vectorisation, etc. There is a specific case for
+simplification, CSE, etc. There is a specific case for
plugins, ``CoreDoPluginPass :: String -> PluginPass -> CoreToDo`` which
should be what you always use when inserting your own pass into the
pipeline. The first parameter is the name of the plugin, and the second
diff --git a/docs/users_guide/glasgow_exts.rst b/docs/users_guide/glasgow_exts.rst
index a705512114..b00d75f6a7 100644
--- a/docs/users_guide/glasgow_exts.rst
+++ b/docs/users_guide/glasgow_exts.rst
@@ -1228,7 +1228,6 @@ Parallel List Comprehensions
.. extension:: ParallelListComp
:shortdesc: Enable parallel list comprehensions.
- Implied by :extension:`ParallelArrays`.
:since: 6.8.1
diff --git a/docs/users_guide/parallel.rst b/docs/users_guide/parallel.rst
index f334e1be38..fea8fa4a57 100644
--- a/docs/users_guide/parallel.rst
+++ b/docs/users_guide/parallel.rst
@@ -156,13 +156,3 @@ from the ``Control.Parallel.Strategies`` module in the `parallel
package <http://hackage.haskell.org/package/parallel>`__. This module
builds functionality around ``par``, expressing more elaborate patterns
of parallel computation, such as parallel ``map``.
-
-.. _dph:
-
-Data Parallel Haskell
----------------------
-
-GHC includes experimental support for Data Parallel Haskell (DPH). This
-code is highly unstable and is only provided as a technology preview.
-More information can be found on the corresponding
-`DPH wiki page <http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell>`__.
diff --git a/docs/users_guide/using-optimisation.rst b/docs/users_guide/using-optimisation.rst
index 59edcdc320..da066e158c 100644
--- a/docs/users_guide/using-optimisation.rst
+++ b/docs/users_guide/using-optimisation.rst
@@ -88,20 +88,6 @@ So, for example, ``ghc -c Foo.hs``
runtime or space *worse* if you're unlucky. They are normally turned
on or off individually.
-.. ghc-flag:: -Odph
- :shortdesc: Enable level 2 optimisations, set
- ``-fmax-simplifier-iterations=20``
- and ``-fsimplifier-phases=3``.
- :type: dynamic
- :category: optimization-levels
-
- .. index::
- single: optimise; DPH
-
- Enables all ``-O2`` optimisation, sets
- ``-fmax-simplifier-iterations=20`` and ``-fsimplifier-phases=3``.
- Designed for use with :ref:`Data Parallel Haskell (DPH) <dph>`.
-
We don't use a ``-O*`` flag for day-to-day work. We use ``-O`` to get
respectable speed; e.g., when we want to measure something. When we want
to go for broke, we tend to use ``-O2`` (and we go for lots of coffee
@@ -1147,41 +1133,3 @@ by saying ``-fno-wombat``.
if a function definition will be inlined *at a call site*. The other option
determines if a function definition will be kept around at all for
potential inlining.
-
-.. ghc-flag:: -fvectorisation-avoidance
- :shortdesc: Enable vectorisation avoidance. Always enabled by default.
- :type: dynamic
- :reverse: -fno-vectorisation-avoidance
- :category:
-
- :default: on
-
- .. index::
- single: -fvectorisation-avoidance
-
- Part of :ref:`Data Parallel Haskell (DPH) <dph>`.
-
- Enable the *vectorisation* avoidance optimisation.
- This optimisation only works when used in combination with the
- ``-fvectorise`` transformation.
-
- While vectorisation of code using DPH is often a big win, it can
- also produce worse results for some kinds of code. This optimisation
- modifies the vectorisation transformation to try to determine if a
- function would be better of unvectorised and if so, do just that.
-
-.. ghc-flag:: -fvectorise
- :shortdesc: Enable vectorisation of nested data parallelism
- :type: dynamic
- :reverse: -fno-vectorise
- :category:
-
- :default: off
-
- Part of :ref:`Data Parallel Haskell (DPH) <dph>`.
-
- Enable the *vectorisation* optimisation
- transformation. This optimisation transforms the nested data
- parallelism code of programs using DPH into flat data parallelism.
- Flat data parallel programs should have better load balancing,
- enable SIMD parallelism and friendlier cache behaviour.