I'm happy to announce that my contribution to TUG 2011, the next TeX
Users Group International conference, has been accepted. Please find the
title and abstract below.
LaTeX Coding Standards
Because LaTeX (and ultimately TeX) is only a macro-expansion system, the
language does not impose any kind of good software engineering practice,
program structure or coding style whatsoever. As a consequence, writing
beautiful code (for some definition of "beautiful") requires a lot of
self-discipline from the programmer.
Maybe because in the LaTeX world, collaboration is not so widespread
(most packages are single-authored), the idea of some LaTeX Coding
Standards is not so pressing as with other programming languages. Some
people may, and probably have developed their own programming habits,
but when it comes to the LaTeX world as a whole, the situation is close
to anarchy.
Over the years, the permanent flow of personal development experiences
contributed to shape my own taste in terms of coding style. The issues
involved are numerous and their spectrum is very large: they range from
simple code layout (formatting, indentation, naming schemes etc.),
mid-level concerns such as modularity and encapsulation, to very
high-level concerns like package interaction/conflict management and
even some rules for proper social behavior.
In this talk, I will report on all these experiences and describe what I
think are good (or at least better) programming practices. I believe
that such practices do help in terms of code readability,
maintainability and extensibility, all key factors in software
evolution. They help me, perhaps they will help you too.
--
Resistance is futile. You will be jazzimilated.
Scientific site: http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com
EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bicêtre, France
Tel. +33 (0)1 44 08 01 85 Fax. +33 (0)1 53 14 59 22
Chers collègues,
La prochaine session du séminaire Performance et Généricité du LRDE
(Laboratoire de Recherche et Développement de l'EPITA) aura lieu le
Mercredi 17 octobre 2012 (10h00-12h00), Salle Alpha du LRDE.
Au programme:
* 10h: Systèmes d'exploitation en dur: une clef du passage de 10 à 1000 cœurs
-- Raphael Poss - University of Amsterdam
http://staff.science.uva.nl/~poss
Afin d'exploiter le potentiel des puces multi-cœurs pour une performance
évolutive et à haut rendement énergétique, le projet Apple-CORE a
co-conçu un modèle général d'architecture matérielle et une interface de
contrôle de parallélisme. Cette interface, appelée SVP, est réalisée par
du matériel sur puce dédié à la gestion de la concurrence de programmes
parallèles exécutés sur plusieurs cœurs. SVP se base sur les principes
de synchronisation de flux de données («data flow»), de programmation
impérative et d'exécution efficace du parallélisme en termes de budget
temps et énergie. Les composants matériels correspondants peuvent
coordonner plusieurs cœurs RISC équipés de multi-threading matériel,
organisés en clusters de calcul sur puce, dits «Microgrids».
Comparés à l'approche traditionnelle «accélérateurs», les Microgrids
sont destinés à être utilisés comme composants dans les systèmes
distribués sur puce contenant à la fois des grappes de petits cœurs et
optionnellement de gros cœurs –optimisés pour l'exécution séquentielle–
disponibles en tant que «services» pour les applications. Les principaux
aspects de cette architecture sont l'asynchronisme, c'est-à-dire la
capacité à tolérer les opérations irrégulières avec des temps de latence
longs, un modèle de programmation à échelle invariante, une vision
distribuée de la puce, et une mise à l'échelle transparente de la
performance d'un seul code binaire à plusieurs tailles de grappes de
cœurs.
Cette présentation décrit le modèle d'exécution, la micro-architecture
des cœurs, sa réalisation au sein d'une plateforme et son environnement
logiciel.
-- Diplômé CSI en 2003, Raphael est resté actif à l'EPITA jusqu'en 2004,
puis a travaillé en tant qu'ingénieur logiciel à Paris puis Rotterdam.
Il rejoint en 2008 le groupe Computer Systems Architecture à
l'Université d'Amsterdam en tant que chef de projet et
enseignant-chercheur, où il reçoit un doctorat en septembre 2012. Il
donne des cours d'architecture matérielle à Amsterdam et Leiden, et
continue de coordonner des activités de recherche au croisement entre
architecture, compilateurs et systèmes d'exploitation.
* 10h45: Platform and Research overview on the Intel Single-chip Cloud Computer
-- Roy Bakker - University of Amsterdam
http://www.science.uva.nl/~bakkerr
The Single-chip Cloud Computer (SCC) is a 48-core experimental processor
created by Intel Labs targeting the many-core research community. The
6x4 mesh Network-on-Chip provides 24 tiles with 2 cores each. All cores
are independent and run their own instance of an operating system. It
has hardware support (local buffers on the tiles) for sending short
messages between cores, and allows for voltage and frequency control at
8 and 2 cores respectively.
We have already modified the SVP runtime system to use these on-chip
buffers for the communication between threads executed on separate
cores. We also created a visual application for manual process migration
and scheduling on the SCC as well as a library for customized voltage
and frequency scaling on the chip.
Currently we focus on automated parallelization and mapping of one or
multiple sequential programs onto the 48 cores by modifying the daedalus
framework to target the SCC. The daedalus framework parallelizes
sequential C programs using Kahn Process Networks (KPNs) and generates
code to run the KPN on multiple hardware platforms like for example an
FPGA, SMP CPU or GPU. The SCC backend, which is work in progress, should
result in a tool that utilizes the SCC cores in an optimal way by means
of performance and energy consumption. It should also allow the system
to dynamically adapt on changes in the computational or communicational
needs of the processes by scaling frequency and migrating processes.
-- Roy Bakker is a PhD student in the Computer Systems Architecture group
at the University of Amsterdam, where he also graduated for his
Bachelor's (2008) and Master's (2011) degree. His current work is funded
by the Netherlands Organisation for Scientific Research (NWO) project on
Smart Energy Systems (SES).
Pour plus de renseignements, consultez http://seminaire.lrde.epita.fr/.
L'entrée du séminaire est libre. Merci de bien vouloir diffuser cette
information le plus largement possible.
--
Akim Demaille
Akim.Demaille(a)lrde.epita.fr
_______________________________________________
Seminaire mailing list
Seminaire(a)lrde.epita.fr
https://www.lrde.epita.fr/mailman/listinfo/seminaire
Bonjour,
nous avons le plaisir de vous annoncer la sortie du n°26 du bulletin du LRDE.
C'est un numéro Spécial Rentrée qui présente l'ensemble des membres du LRDE.
Vous y trouverez également un aperçu des activités du LRDE et de la majeure CSI
dont font partie tous les élèves épitéens intégrant le labo.
Vous pouvez télécharger le bulletin en couleur à la page suivante :
http://publis.lrde.epita.fr/201209-l-air-de-rien-26
--
Daniela Becker
Responsable administrative du LRDE
We are happy to announce that the following paper has been
published in the Proceedings of the Workshop on Applications of
Discrete Geometry and Mathematical Morphology (Springer LNCS
volume 7346). This paper is an extended version of the initial
WADGMM 2010 paper.
Nous avons le plaisir de vous annoncer que l'article suivant a
été publié dans les actes du Workshop on Applications of Discrete
Geometry and Mathematical Morphology (Springer LNCS volume 7346).
Cet article est une version étendue de l'article originel de
WADGMM 2010.
Roland Levillain (1,2), Thierry Géraud (1,2) and Laurent Najman (2)
Writing Reusable Digital Topology Algorithms in a Generic Image
Processing Framework
http://publis.lrde.epita.fr/201206-WADGMM-LNCS
(1) EPITA Research and Development Laboratory (LRDE)
(2) Université Paris-Est, Laboratoire d'Informatique Gaspard-Monge,
Equipe A3SI, ESIEE Paris
Digital Topology software should reflect the generality of the
underlying mathematics: mapping the latter to the former requires
genericity. By designing generic solutions, one can effectively
reuse digital topology data structures and algorithms. We
propose an image processing framework focused on the Generic
Programming paradigm in which an algorithm on the paper can be
turned into a single code, written once and usable with various
input types. This approach enables users to design and implement
new methods at a lower cost, try cross-domain experiments and
help generalize results.
--
Roland Levillain
EPITA Research and Development Laboratory (LRDE)
14-16, rue Voltaire - FR-94276 Le Kremlin-Bicêtre Cedex - France
Phone: +33 1 53 14 59 45 - Fax: +33 1 53 14 59 22 - www.lrde.epita.fr