Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Serge Guelton is active.

Publication


Featured researches published by Serge Guelton.


the cryptographers track at the rsa conference | 2016

NFLlib: NTT-Based Fast Lattice Library

Carlos Aguilar-Melchor; Joris Barrier; Serge Guelton; Adrien Guinet; Marc-Olivier Killijian; Tancrède Lepoint

Recent years have witnessed an increased interest in lattice cryptography. Besides its strong security guarantees, its simplicity and versatility make this powerful theoretical tool a promising competitive alternative to classical cryptographic schemes. In this paper, we introduce NFLlib, an efficient and open-source C++ library dedicated to ideal lattice cryptography in the widely-spread polynomial ring


languages and compilers for parallel computing | 2012

Beyond Do Loops: Data Transfer Generation with Convex Array Regions

Serge Guelton; Mehdi Amini; Béatrice Creusillet


Computational Science & Discovery | 2015

Pythran: enabling static optimization of scientific Python programs

Serge Guelton; Pierrick Brunet; Mehdi Amini; Adrien Merlini; Xavier Corbillon; Alan Raynaud

\mathbb Z_{p}[x]/x^n+1


acm sigplan symposium on principles and practice of parallel programming | 2014

Exploring the vectorization of python constructs using pythran and boost SIMD

Serge Guelton; Joel Falcou; Pierrick Brunet


international conference on parallel architectures and compilation techniques | 2011

Building Retargetable and Efficient Compilers for Multimedia Instruction Sets

Serge Guelton; Adrien Guinet; Ronan Keryell

for n a power of 2. The library combines algorithmic optimizations Chinese Remainder Theorem, optimized Number Theoretic Transform together with programming optimization techniques SSE and AVX2 specializations, C++ expression templates, etc., and will be fully available under an open source license. The library compares very favorably to other libraries used in ideal lattice cryptography implementations namely the generic number theory libraries NTL and flint implementing polynomial arithmetic, and the optimized library for lattice homomorphic encryption HElib: restricting the library to the aforementioned polynomial ring allows to gain several orders of magnitude in efficiency.


high performance embedded architectures and compilers | 2012

Par4All: From Convex Array Regions to Heterogeneous Computing

Mehdi Amini; Béatrice Creusillet; Stéphanie Even; Ronan Keryell; Onig Goubier; Serge Guelton; Janice Onanian Mcmahon; François-Xavier Pasquier; Grégoire Péan; Pierre Villalon

Automatic data transfer generation is a critical step for guided or automatic code generation for accelerators using distributed memories. Although good results have been achieved for loop nests, more complex control flows such as switches or while loops are generally not handled. This paper shows how to leverage the convex array regions abstraction to generate data transfers. The scope of this study ranges from inter-procedural analysis in simple loop nests with function calls, to inter-iteration data reuse optimization and arbitrary control flow in loop bodies. Generated transfers are approximated when an exact solution cannot be found. Array regions are also used to extend redundant load store elimination to array variables. The approach has been successfully applied to GPUs and domain-specific hardware accelerators.


PyHPC 20123 : workshop on Python for High Performance and Scientific Computing | 2013

Compiling python modules to native parallel modules using Pythran and OpenMP annotations

Serge Guelton; Pierrick Brunet; Mehdi Amini

Pythran is an open source static compiler that turns modules written in a subset of Python language into native ones. Assuming that scientific modules do not rely much on the dynamic features of the language, it trades them for powerful, possibly inter-procedural, optimizations. These optimizations include detection of pure functions, temporary allocation removal, constant folding, Numpy ufunc fusion and parallelization, explicit thread-level parallelism through OpenMP annotations, false variable polymorphism pruning, and automatic vector instruction generation such as AVX or SSE. In addition to these compilation steps, Pythran provides a C++ runtime library that leverages the C++ STL to provide generic containers, and the Numeric Template Toolbox for Numpy support. It takes advantage of modern C++11 features such as variadic templates, type inference, move semantics and perfect forwarding, as well as classical idioms such as expression templates. Unlike the Cython approach, Pythran input code remains compatible with the Python interpreter. Output code is generally as efficient as the annotated Cython equivalent, if not more, but without the backward compatibility loss.


First International Workshop on Polyhedral Compilation Techniques (IMPACT 2011) in conjonction with CGO 2011 | 2011

PIPS Is not (just) Polyhedral Software Adding GPU Code Generation in PIPS

Mehdi Amini; Corinne Ancourt; Fabien Coelho; Béatrice Creusillet; Serge Guelton; François Irigoin; Pierre Jouvelot; Ronan Keryell; Pierre Villalon

The Python language is highly dynamic, most notably due to late binding. As a consequence, programs using Python typically run an order of magnitude slower than their C counterpart. It is also a high level language whose semantic can be made more static without much change from a user point of view in the case of mathematical applications. In that case, the language provides several vectorization opportunities that are studied in this paper, and evaluated in the context of Pythran, an ahead-of-time compiler that turns Python module into C++ meta-programs.


Archive | 2011

PyPs, a programmable pass manager

Serge Guelton; Mehdi Amini; Ronan Keryell; Béatrice Creusillet

Multimedia Instruction Sets have been introduced more than 20 years ago to speedup multimedia processing on General Purpose Processors. However, to take advantage of these instructions, developers have to cope with the low-level assembly or the equivalent C interfaces, which hinders code portability and raises development cost increases. An alternative is to let the compiler automatically generate optimized versions: ICC generates relatively efficient code for its supported platforms but does not target other processors. On the other hand, GCC targets a wide range of devices but generates less efficient code. In this paper, we present a retargetable compiler infrastructure for SIMD architectures based on three key points: a generic Multimedia Instruction Set, the combination of loop vectorization transformations with Super-word Level Parallelism and memory transfer optimizations. Three compilers, for SSE, AVX and NEON have been built using this common infrastructure.


Congrès ANR | 2016

FREIA ANT-AF-2007-004

Michel Bilodeau; Christophe Clienti; Fabien Coelho; Serge Guelton; François Irigoin; Ronan Keryell; Fabrice Lemonnier

Collaboration


Dive into the Serge Guelton's collaboration.

Top Co-Authors

Avatar

Ronan Keryell

École Normale Supérieure

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Corinne Ancourt

École Normale Supérieure

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Joel Falcou

University of Paris-Sud

View shared research outputs
Researchain Logo
Decentralizing Knowledge