Tutorial on MetaOCaml

46 views
Skip to first unread message

ol...@okmij.org

unread,
Sep 13, 2013, 4:45:54 AM9/13/13
to stag...@googlegroups.com

Hello!

There will be a tutorial on MetaOCaml as part of the tutorial
session of ``Commercial Users of Functional Programming'', on
September 23, 2013 in Boston.

http://cufp.org/conference/sessions/2013/t4-oleg-kiselyov-systematic-generation-optimal-cod

If you come to ICFP or CUFP or will be in Boston anyway, you might
like to stop by. Shonan Challenges are at the core of the tutorial. In
fact the tutorial will talk about solving Suda-sensei's complex vector
challenge (in addition to the HMM challenge #1).

Cheers,
Oleg

Reiji Suda

unread,
Sep 13, 2013, 4:50:24 AM9/13/13
to stag...@googlegroups.com
Dear Oleg,

Oh, great! It is a great pity that I am not planning to attend it.

Reiji
--
You received this message because you are subscribed to the Google Groups
"StagedHPC" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to stagedhpc+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

ol...@okmij.org

unread,
Sep 14, 2013, 5:01:25 AM9/14/13
to stag...@googlegroups.com

Hello!

> It is a great pity that I am not planning to attend it.

Next time I'm in Japan, I'll be very happy to repeat a version of the
tutorial. The original version is planned to run for 3 hrs (not
counting a break) and is meant to be quite interactive, with
exercises and quizzes. There could be many modifications and
alternations on this plan.

Cheers,
Oleg

Tiark Rompf

unread,
Sep 15, 2013, 7:16:04 PM9/15/13
to stag...@googlegroups.com
Hi,

cool, depending on what else runs in parallel I might drop by. Btw, we also gave tutorials at PLDI and
ECOOP, which covered the HMM challenge problem (and a lot of other things). The notes and source code
are online at scala-lms.github.com.

I'm looking forward to seeing some of you in Boston for ICFP!

Cheers,
- Tiark

Tiark Rompf

unread,
Sep 15, 2013, 7:20:49 PM9/15/13
to stag...@googlegroups.com
Hi all,

I would like to take the opportunity to advertise the following paper, which is joint work with Markus Püschel's group:

Spiral in Scala: Towards the Systematic Construction of Generators for Performance Libraries

Georg Ofenbeck, Tiark Rompf, Alen Stojanov, Martin Odersky, Markus Püschel. GPCE 2013

Program generators for high performance libraries are an appealing solution to the recurring problem of porting and optimizing code with every new processor generation, but only few such generators exist to date. This is due to not only the difficulty of the design, but also of the actual implementation, which often results in an ad-hoc collection of standalone programs and scripts that are hard to extend, maintain, or reuse. In this paper we ask whether and which programming language concepts and features are needed to enable a more systematic construction of such generators. The systematic approach we advocate extrapolates from existing generators: a) describing the problem and algorithmic knowledge using one, or several, domain-specific languages (DSLs), b) expressing optimizations and choices as rewrite rules on DSL programs, c) designing data structures that can be configured to control the type of code that is generated and the data representation used, and d) using autotuning to select the best-performing alternative. As a case study, we implement a small, but representative subset of Spiral in Scala using the Lightweight Modular Staging (LMS) framework. The first main contribution of this paper is the realization of c) using type classes to abstract over staging decisions, i.e. which pieces of a computation are performed immediately and for which pieces code is generated. Specifically, we abstract over different complex data representations jointly with different code representations including generating loops versus unrolled code with scalar replacement---a crucial and usually tedious performance transformation. The second main contribution is to provide full support for a) and d) within the LMS framework: we extend LMS to support translation between different DSLs and autotuning through search.


Best regards,
- Tiark
Reply all
Reply to author
Forward
0 new messages