8 research outputs found
Refactoring GrPPI:Generic Refactoring for Generic Parallelism in C++
Funding: EU Horizon 2020 project, TeamPlay (https://www.teamplay-xh2020.eu), Grant Number 779882, UK EPSRC Discovery, grant number EP/P020631/1, and Madrid Regional Government, CABAHLA-CM (ConvergenciA Big dAta-Hpc: de Los sensores a las Aplicaciones) Grant Number S2018/TCS-4423.The Generic Reusable Parallel Pattern Interface (GrPPI) is a very useful abstraction over different parallel pattern libraries, allowing the programmer to write generic patterned parallel code that can easily be compiled to different backends such as FastFlow, OpenMP, Intel TBB and C++ threads. However, rewriting legacy code to use GrPPI still involves code transformations that can be highly non-trivial, especially for programmers who are not experts in parallelism. This paper describes software refactorings to semi-automatically introduce instances of GrPPI patterns into sequential C++ code, as well as safety checking static analysis mechanisms which verify that introducing patterns into the code does not introduce concurrency-related bugs such as race conditions. We demonstrate the refactorings and safety-checking mechanisms on four simple benchmark applications, showing that we are able to obtain, with little effort, GrPPI-based parallel versions that accomplish good speedups (comparable to those of manually-produced parallel versions) using different pattern backends.Publisher PDFPeer reviewe
A Hybrid Approach to Parallel Pattern Discovery in C++
Funding: EU Horizon 2020 project, TeamPlay, grant number 779882, and UK EPSRC Discovery, grant number EP/P020631/1.Parallel pattern libraries offer a strong combination of abstraction and performance. However, discovering places in sequential code where parallel patterns should be introduced is still highly non-trivial, often requiring expert manual analysis and profiling. We present a hybrid discovery technique to detect instances of parallel patterns in sequential code. This employs both static and dynamic trace-based analysis, together with hotspot detection. We evaluate our pattern discovery mechanism on a number of representative benchmarks. We evaluate the performance of the resulting parallelised benchmarks on a 24-core parallel machine.Postprin
STEEL-RT: combining single task–single executor model and expanded scheduling to ease heterogeneity exploitation
Hybrid static–dynamic selection of implementation alternatives in heterogeneous environments
Antibody and Memory B-Cell Immunity in a Heterogeneously SARS-CoV-2-Infected and -Vaccinated Population
The majority of studies on SARS-CoV-2 vaccine-elicited immunity and immune evasion have focused on single vaccines corresponding to those distributed in high-income countries. However, in low- and middle-income countries, vaccine deployment has been far less uniform.</jats:p
Antibody and memory B-cell immunity in a heterogeneously SARS-CoV-2 infected and vaccinated population
AbstractGlobal population immunity to SARS-CoV-2 is accumulating through heterogenous combinations of infection and vaccination. Vaccine distribution in low- and middle-income countries has been variable and reliant on diverse vaccine platforms. We studied B-cell immunity in Mexico, a middle-income country where five different vaccines have been deployed to populations with high SARS-CoV-2 incidence. Levels of antibodies that bound a stabilized prefusion spike trimer, neutralizing antibody titers and memory B-cell expansion correlated with each other across vaccine platforms. Nevertheless, the vaccines elicited variable levels of B-cell immunity, and the majority of recipients had undetectable neutralizing activity against the recently emergent omicron variant. SARS-CoV-2 infection, experienced prior to or after vaccination potentiated B-cell immune responses and enabled the generation of neutralizing activity against omicron and SARS-CoV for all vaccines in nearly all individuals. These findings suggest that broad population immunity to SARS-CoV-2 will eventually be achieved, but by heterogenous paths</jats:p
