110 research outputs found

    Designing Expression Templates with Concepts

    Get PDF
    International audienceConcepts are likely to be introduced in a future C++ standard. They can be used for constraining template parameters, which enables checking requirements on template parameters sooner in the compilation process, and thus providing more intelligible error messages to the user.They can also be used in the specialization of templates, thus leading to a better control over the selection of the most appropriate version of a template for a given instantiation. This latter aspect offers new possibilities in the design of template libraries, as it enhances the specialization mechanism of templates, and set it up as a solid alternative to inheritance when static binding can replace dynamic binding.This report addresses the design of expression templates (i.e. templates that represent expressions and are usually built through operator overloading) that are useful to develop an embedded domain specific language (EDSL), and can speed up the evaluation of an expression by delaying the evaluation of intermediate operations to avoid unnecessary temporary objects.We propose to use concept-based template specialization to parse expression templates in order to ease the design of an EDSL. This approach is a static variant of the well-known visitor design pattern that replaces the overridden methods in the double dispatch of the original design pattern by template specializations based on concepts. An example of EDSL for linear programming developed with our solution demonstrates that a concept-based design helps producing concise and reliable code

    ShoveRand: a Model-Driven Framework to Easily Generate Random Numbers on GP-GPU

    Get PDF
    International audienceStochastic simulations are often sensitive to the randomness source that characterizes the statistical quality of their results. Consequently, we need highly reliable Random Number Generators (RNGs) to feed such applications. Recent developments try to shrink the computation time by using more and more General Purpose Graphics Processing Units (GP-GPUs) to speed-up stochastic simulations. Such devices bring new parallelization possibilities, but they also introduce new programming difficulties. Since RNGs are at the base of any stochastic simulation, they also need to be ported to GP-GPU. There is still a lack of well-designed implementations of quality-proven RNGs on GP-GPU platforms. In this paper, we introduce ShoveRand, a framework defining common rules to generate random numbers uniformly on GP-GPU. Our framework is designed to cope with any GPU-enabled development platform and to expose a straightforward interface to users. We also provide an existing RNG implementation with this framework to demonstrate its efficiency in both development and ease of use

    ModÚles de coût pour la sélection de vues matérialisées dans le nuage, application aux services Amazon EC2 et S3

    Get PDF
    National audienceDans les bases et entrepĂŽts de donnĂ©es, la performance des requĂȘtes est classiquement assurĂ©e grĂące Ă  des structures comme les caches, les index et les vues matĂ©rialisĂ©es. Dans ce contexte, des modĂšles de coĂ»t permettent de sĂ©lectionner un ensemble efficace de ce type de structures. Toutefois, cette tĂąche de sĂ©lection devient plus complexe dans le nuage, car en plus des temps de rĂ©ponse, il faut simultanĂ©ment optimiser le coĂ»t monĂ©taire d'utilisation du nuage. En consĂ©quence, nous proposons dans cet article de nouveaux modĂšles de coĂ»t qui intĂšgrent le paradigme de paiement Ă  la demande en vigueur dans les nuages informatiques. Sur la base de ces modĂšles, nous dĂ©finissons un problĂšme d'optimisation consistant Ă  sĂ©lectionner, parmi un ensemble de vues candidates, celles qu'il faut matĂ©rialiser pour minimiser le coĂ»t d'interrogation et de maintenance de la base de donnĂ©es, ainsi que le temps de rĂ©ponse Ă  une charge de requĂȘtes donnĂ©e. Dans un premier temps, nous optimisons les deux critĂšres prĂ©cĂ©dents sĂ©parĂ©ment: le temps de rĂ©ponse est optimisĂ© sous contrainte de coĂ»t et vice versa. Les expĂ©riences que nous avons menĂ©es pour valider cette proposition montrent que la matĂ©rialisation de vues dans le nuage est toujours avantageuse

    Poisson ratio and bulk lattice constant of (Sr 0.25 La 0.75 )CrO 3 from strained epitaxial thin films

    Get PDF
    International audienceAbout 30 nm thick (001)-oriented (Sr0.25La0.75)CrO3 (SLCO) epitaxial thin films were grown by solid-source oxide molecular beam epitaxy on four different single-crystalline cubic or pseudo-cubic (001)-oriented oxide substrates: LaAlO3, (LaAlO3)0.3(Sr2AlTaO6)0.7, SrTiO3 and DyScO3, which result in lattice mismatch ranging from-2% to +1.7%. All the films are of high-quality, flat and strained by the substrates. By assessing the evolution of the out-of-plane lattice parameter as a function of the in-plane lattice parameter of the samples, we determine both the Poisson ratio (Îœ = 0.32) and the bulk lattice constant (ab = 3.876 Å) of SLCO. The Poisson ratio significantly differs from LaCrO3 (Îœ = 0.23) and the (SrxLa1-x)CrO3 solid solution appears to obey structural Vegard's law. Since SLCO is the only one p-type transparent conductive oxide of perovskite structure and has promising thermoelectric properties, integrating SLCO in heterostructures and devices is therefore of paramount importance, which confers on our results their strong interest. Besides, the method used here can be straightforwardly applied to other complex oxides

    Vaccine breakthrough hypoxemic COVID-19 pneumonia in patients with auto-Abs neutralizing type I IFNs

    Full text link
    Life-threatening `breakthrough' cases of critical COVID-19 are attributed to poor or waning antibody response to the SARS- CoV-2 vaccine in individuals already at risk. Pre-existing autoantibodies (auto-Abs) neutralizing type I IFNs underlie at least 15% of critical COVID-19 pneumonia cases in unvaccinated individuals; however, their contribution to hypoxemic breakthrough cases in vaccinated people remains unknown. Here, we studied a cohort of 48 individuals ( age 20-86 years) who received 2 doses of an mRNA vaccine and developed a breakthrough infection with hypoxemic COVID-19 pneumonia 2 weeks to 4 months later. Antibody levels to the vaccine, neutralization of the virus, and auto- Abs to type I IFNs were measured in the plasma. Forty-two individuals had no known deficiency of B cell immunity and a normal antibody response to the vaccine. Among them, ten (24%) had auto-Abs neutralizing type I IFNs (aged 43-86 years). Eight of these ten patients had auto-Abs neutralizing both IFN-a2 and IFN-., while two neutralized IFN-omega only. No patient neutralized IFN-ss. Seven neutralized 10 ng/mL of type I IFNs, and three 100 pg/mL only. Seven patients neutralized SARS-CoV-2 D614G and the Delta variant (B.1.617.2) efficiently, while one patient neutralized Delta slightly less efficiently. Two of the three patients neutralizing only 100 pg/mL of type I IFNs neutralized both D61G and Delta less efficiently. Despite two mRNA vaccine inoculations and the presence of circulating antibodies capable of neutralizing SARS-CoV-2, auto-Abs neutralizing type I IFNs may underlie a significant proportion of hypoxemic COVID-19 pneumonia cases, highlighting the importance of this particularly vulnerable population

    COVID-19 symptoms at hospital admission vary with age and sex: results from the ISARIC prospective multinational observational study

    Get PDF
    Background: The ISARIC prospective multinational observational study is the largest cohort of hospitalized patients with COVID-19. We present relationships of age, sex, and nationality to presenting symptoms. Methods: International, prospective observational study of 60 109 hospitalized symptomatic patients with laboratory-confirmed COVID-19 recruited from 43 countries between 30 January and 3 August 2020. Logistic regression was performed to evaluate relationships of age and sex to published COVID-19 case definitions and the most commonly reported symptoms. Results: ‘Typical’ symptoms of fever (69%), cough (68%) and shortness of breath (66%) were the most commonly reported. 92% of patients experienced at least one of these. Prevalence of typical symptoms was greatest in 30- to 60-year-olds (respectively 80, 79, 69%; at least one 95%). They were reported less frequently in children (≀ 18 years: 69, 48, 23; 85%), older adults (≄ 70 years: 61, 62, 65; 90%), and women (66, 66, 64; 90%; vs. men 71, 70, 67; 93%, each P < 0.001). The most common atypical presentations under 60 years of age were nausea and vomiting and abdominal pain, and over 60 years was confusion. Regression models showed significant differences in symptoms with sex, age and country. Interpretation: This international collaboration has allowed us to report reliable symptom data from the largest cohort of patients admitted to hospital with COVID-19. Adults over 60 and children admitted to hospital with COVID-19 are less likely to present with typical symptoms. Nausea and vomiting are common atypical presentations under 30 years. Confusion is a frequent atypical presentation of COVID-19 in adults over 60 years. Women are less likely to experience typical symptoms than men

    Méthode d'agrégation pour les problÚmes de tension

    No full text
    International audienc

    Flexibilité et performance de codes de calcul en optimisation et simulation

    No full text
    This manuscript presents the synthesis of research works in optimization and simulation with the aim of developing flexible and performant software tools. The contributions are centered on three main domains:(i) combinatorial optimization, with the resolution of problems of hypermedia documents synchronization and resources optimization in cloud computing;(ii) numerical simulation, with an original outline of optimization-simulation coupling for solving a bus routing design problem in an urban transportation network, and a methodology to minimize the vulnerability of a grassland ecosystem facing climate changes;(iii) generic software development, with design patterns for developing optimization algorithms, and a library to extend generic programming to "concepts" and thus to allow improving the quality of computer codes.This multidisciplinary approach is explained by the complementarity of these domains when tackling the studied problems. Notably, combinatorial optimization allows designing very efficient algorithms to solve operational research problems, but is based on a usually too simplistic modeling of the studied system. Numerical simulation, which generally allows representing more precisely the system, can be coupled with the optimization process to identify better applicable solutions.The studied systems can also be very complex and can need extremely time-consuming optimization algorithms and simulation models. Software development becomes thereby a crucial element where usual software engineering methods are not always enough to meet high performance computing needs. It seems thus relevant to study the possibilities offered by generic programming and metaprogramming to combine, with few compromises, flexibility and performance in computer codes.Ce manuscrit prĂ©sente la synthĂšse de travaux de recherche en optimisation et simulation dont l’objectif est le dĂ©veloppement d’outils logiciels flexibles et performants. Les contributions s’articulent autour de trois grands domaines:(i) l’optimisation combinatoire, avec la rĂ©solution de problĂšmes de synchronisation de documents hypermĂ©dia et d’optimisation de ressources dans les nuages informatiques;(ii) la simulation numĂ©rique, avec un schĂ©ma de couplage optimisation-simulation original pour la rĂ©solution d’un problĂšme de conception de tournĂ©es de bus dans un rĂ©seau de transport urbain, et une mĂ©thodologie pour la minimisation de la vulnĂ©rabilitĂ© d’un Ă©cosystĂšme prairial face aux changements climatiques;(iii) le dĂ©veloppement logiciel gĂ©nĂ©rique, avec des patrons de conception pour le dĂ©veloppement d’algorithmes d’optimisation, et une bibliothĂšque pour Ă©tendre la programmation gĂ©nĂ©rique aux "concepts" et permettre ainsi d’amĂ©liorer la qualitĂ© des codes de calcul.Cette dĂ©marche pluridisciplinaire s’explique par la complĂ©mentaritĂ© de ces domaines pour rĂ©pondre aux problĂ©matiques Ă©tudiĂ©es. Notamment, l’optimisation combinatoire permet l’élaboration d’algorithmes trĂšs efficaces pour rĂ©soudre des problĂšmes de recherche opĂ©rationnelle, mais en s’appuyant sur une modĂ©lisation souvent trop simpliste du systĂšme Ă©tudiĂ©. La simulation numĂ©rique, qui permet gĂ©nĂ©ralement une reprĂ©sentation plus fine du systĂšme, peut ĂȘtre couplĂ©e au processus d’optimisation afin d’identifier de meilleures solutions applicables.Les systĂšmes Ă©tudiĂ©s peuvent aussi ĂȘtre trĂšs complexes et nĂ©cessiter des algorithmes d’optimisation et des modĂšles de simulation trĂšs coĂ»teux en temps de calcul. Le dĂ©veloppement logiciel devient alors un Ă©lĂ©ment crucial oĂč les mĂ©thodes usuelles de gĂ©nie logiciel ne sont pas toujours suffisantes pour rĂ©pondre aux besoins de calcul intensif. Il semble alors pertinent d’étudier les possibilitĂ©s offertes par la programmation gĂ©nĂ©rique et la mĂ©taprogrammation pour combiner, avec peu de compromis, flexibilitĂ© et performance dans les codes de calcul

    B++ Library: Generic C++ Library for Operations Research and Simulation

    No full text
    B++ Library is developed mainly for operations research and simulation purposes. It is built upon basic portable software components, assistance tools for the development such as debugging controls and reports, and a semi-automatic generation of the documentation.It is a thread-safe C++/Java library that attempts to be as portable and reusable as possible. Hence, it provides a set of software components based on an object-oriented and generic design that are independent of the compiler and the operating system.The library also integrates a mechanism called Jirk++ that allows an easy use of Java classes directly in C++. It is based on the Java Native Interface (JNI). With each Java class is associated a C++ class that maps its attributes and methods, and has the equivalent inheritance. The purpose of such a facility is to provide a fully portable graphic environment for C++ applications.B++ Library provides generic components for designing operations research algorithms, and also offers a module for discrete-event visual simulation called B++ Simulator
    • 

    corecore