[Haskell] SaC Tutorial at PPoPP 2010

Clemens Grelck c.grelck at uva.nl
Thu Dec 3 15:07:38 EST 2009


---------------------------------------------------------------------
Please accept our apologies if you have received multiple copies.
Please feel free to distribute it to those who might be interested.
---------------------------------------------------------------------


*********************************************************************
*                                                                   *
*                       Call for Participation                      *
*                                                                   *
*                              TUTORIAL                             *
*                                 on                                *
*            SAC AND ITS AUTO-PARALLELISING COMPILER SAC2C          *
*                                                                   *
*                         January 9, 2010                           *
*                        Bangalore, India                           *
*                                                                   *
*              15th ACM SIGPLAN Annual Symposium on                 *
*         Principles and Practice of Parallel Programming           *
*                           (PPoPP 2010)                            *
*                                                                   *
*                http://events.sac-home.org/ppopp/                  *
*                                                                   *
*********************************************************************


Background and Content

  The non-deterministic semantics of concurrent execution of main-stream
  languages, combined with the difficulties in debugging concurrency-specific
  bugs like race conditions, render software engineering for concurrent
  architectures challenging and time consuming. The data-parallel approach
  towards concurrent programming with its deterministic semantics and simple
  synchronisation seems to be a good fit to solve these problems. With the
  availability of commercial frameworks for data-parallel and stream computation
  like CUDA and Intel's Ct, data-parallel programming seems to be ready for
  the main-stream. However, given the number of "interesting" architectures
  available, using a hardware bound implementation language cannot be the solution.

  In this tutorial we present a completely implicit, architecture neutral approach
  for programming modern multi- and many-core architectures. It is based on
  a high-level language featuring a data-parallel programming style. SaC
  (for Single Assignment C) is a functional array language which combines a
  C-like syntax with a purely functional semantics. This approach enables
  successful auto-parallelisation on various architectures including SMPs
  and GPGPUs.

  Over the last 15+ years, we have developed the auto-parallelising compiler
  sac2c. With more than 300,000 lines of code, it implements over 50 high-level
  program optimisations. The functional basis of SAC enables these optimisations
  to systematically transform high-level specifications into fine-tuned,
  target-architecture-specific code. The generated intermediate C-code can be
  compiled using any C99-compliant compiler. The runtime system of sac2c features,
  among other aspects, a micro-thread scheduler as well as a tailor-made,
  multi-threaded memory management for highly efficient concurrent execution.

Organisation

  The tutorial consists of four parts:
  * an introduction into the concept of data-parallelism, i.e.,
    tackling the question of what can be expressed in a data-parallel
    fashion and how,
  * a practical session where examples are being run in an
    interactive fashion,
  * an overview of the optimisations applied by sac2c to achieve
    excellent sequential and parallel runtime performance on various
    platforms, and
  * a practical session where several examples and their compilation
    process are being studied in an interactive fashion.

Important dates

  * Early registration deadline: December 4, 2009
  * Late registration deadline:  walk in
  * Tutorial:                    January 9, 2010
  * PPoPP:                       January 9-14, 2010

Organisers

  * Sven-Bodo Scholz, University of Hertfordshire, Hatfield, UK
  * Clemens Grelck, University of Amsterdam, Netherlands
  * Stephan Herhut, University of Hertfordshire, Hatfield, UK

-- 
Dr Clemens Grelck
University of Amsterdam
University of Hertfordshire
http://www.sac-home.org/~cg


More information about the Haskell mailing list