123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- ++=================++
- || I. Introduction ||
- ++=================++
- +---------------------
- | I.a. What is StarPU?
- StarPU is a runtime system that offers support for heterogeneous multicore
- machines. While many efforts are devoted to design efficient computation kernels
- for those architectures (e.g. to implement BLAS kernels on GPUs or on Cell's
- SPUs), StarPU not only takes care of offloading such kernels (and implementing
- data coherency across the machine), but it also makes sure the kernels are
- executed as efficiently as possible.
- +------------------------
- | I.b. What StarPU is not
- StarPU is not a new language, and it does not extends existing languages either.
- StarPU does not help to write computation kernels.
- +---------------------------------
- | I.c. (How) Could StarPU help me?
- While StarPU will not make it easier to write computation kernels, it does
- simplify their actual offloading as StarPU handle most low level aspects
- transparently.
- Obviously, it is crucial to have efficient kernels, but it must be noted that
- the way those kernels are mapped and scheduled onto the computational resources
- also affect the overall performance to a great extent.
- StarPU is especially helpful when considering multiple heterogeneous processing
- resources: statically mapping and synchronizing tasks in such a heterogeneous
- environment is already very difficult, making it in a portable way is virtually
- impossible. On the other hand, the scheduling capabilities of StarPU makes it
- possible to easily exploit all processors at the same time while taking
- advantage of their specificities in a portable fashion.
- ++==================++
- || II. Requirements ||
- ++==================++
- * make
- * gcc (version >= 4.1)
- * if CUDA support is enabled
- * CUDA (version >= 2.2)
- * CUBLAS (version >= 2.2)
- * extra requirements for the svn version
- * autoconf (version >= 2.60)
- * automake
- * Remark: It is strongly recommanded that you also install the hwloc library
- before installing StarPU. This permits StarPU to actually map the processing
- units according to the machine topology. For more details on hwloc, see
- http://www.open-mpi.org/projects/hwloc/ .
- ++=====================++
- || III. Getting StarPU ||
- ++=====================++
- StarPU is available on https://gforge.inria.fr/projects/starpu/.
- The project's SVN repository can be checked out through anonymous
- access with the following command(s).
- $ svn checkout svn://scm.gforge.inria.fr/svn/starpu/trunk
- $ svn checkout --username anonsvn https://scm.gforge.inria.fr/svn/starpu/trunk
- The password is 'anonsvn'
- ++=============================++
- || IV. Building and Installing ||
- ++=============================++
- +---------------------------
- | IV.a. For svn version only
- $ ./autogen.sh
- +-----------------------
- | IV.b. For all versions
- $ ./configure
- $ make
- $ make install
- ++============++
- || V. Contact ||
- ++============++
- For any questions regarding StarPU, please contact the starpu-devel
- mailing-list at starpu-devel@lists.gforge.inria.fr .
|