Serge Guelton
École nationale supérieure des télécommunications de Bretagne
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Serge Guelton.
the cryptographers track at the rsa conference | 2016
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
Serge Guelton; Mehdi Amini; Béatrice Creusillet
Computational Science & Discovery | 2015
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
Serge Guelton; Joel Falcou; Pierrick Brunet
international conference on parallel architectures and compilation techniques | 2011
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
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
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
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
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
Michel Bilodeau; Christophe Clienti; Fabien Coelho; Serge Guelton; François Irigoin; Ronan Keryell; Fabrice Lemonnier