8 research outputs found
Loo.py: transformation-based code generation for GPUs and CPUs
Today's highly heterogeneous computing landscape places a burden on
programmers wanting to achieve high performance on a reasonably broad
cross-section of machines. To do so, computations need to be expressed in many
different but mathematically equivalent ways, with, in the worst case, one
variant per target machine.
Loo.py, a programming system embedded in Python, meets this challenge by
defining a data model for array-style computations and a library of
transformations that operate on this model. Offering transformations such as
loop tiling, vectorization, storage management, unrolling, instruction-level
parallelism, change of data layout, and many more, it provides a convenient way
to capture, parametrize, and re-unify the growth among code variants. Optional,
deep integration with numpy and PyOpenCL provides a convenient computing
environment where the transition from prototype to high-performance
implementation can occur in a gradual, machine-assisted form
Loo.py: From Fortran to performance via transformation and substitution rules
A large amount of numerically-oriented code is written and is being written
in legacy languages. Much of this code could, in principle, make good use of
data-parallel throughput-oriented computer architectures. Loo.py, a
transformation-based programming system targeted at GPUs and general
data-parallel architectures, provides a mechanism for user-controlled
transformation of array programs. This transformation capability is designed to
not just apply to programs written specifically for Loo.py, but also those
imported from other languages such as Fortran. It eases the trade-off between
achieving high performance, portability, and programmability by allowing the
user to apply a large and growing family of transformations to an input
program. These transformations are expressed in and used from Python and may be
applied from a variety of settings, including a pragma-like manner from other
languages.Comment: ARRAY 2015 - 2nd ACM SIGPLAN International Workshop on Libraries,
Languages and Compilers for Array Programming (ARRAY 2015
Landscape and selection of vaccine epitopes in SARS-CoV-2
Background: Early in the pandemic, we designed a SARS-CoV-2 peptide vaccine containing epitope regions optimized for concurrent B cell, CD4+ T cell, and CD8+ T cell stimulation. The rationale for this design was to drive both humoral and cellular immunity with high specificity while avoiding undesired effects such as antibody-dependent enhancement (ADE). Methods: We explored the set of computationally predicted SARS-CoV-2 HLA-I and HLA-II ligands, examining protein source, concurrent human/murine coverage, and population coverage. Beyond MHC affinity, T cell vaccine candidates were further refined by predicted immunogenicity, sequence conservation, source protein abundance, and coverage of high frequency HLA alleles. B cell epitope regions were chosen from linear epitope mapping studies of convalescent patient serum, followed by filtering for surface accessibility, sequence conservation, spatial localization near functional domains of the spike glycoprotein, and avoidance of glycosylation sites. Results: From 58 initial candidates, three B cell epitope regions were identified. From 3730 (MHC-I) and 5045 (MHC-II) candidate ligands, 292 CD8+ and 284 CD4+ T cell epitopes were identified. By combining these B cell and T cell analyses, as well as a manufacturability heuristic, we proposed a set of 22 SARS-CoV-2 vaccine peptides for use in subsequent murine studies. We curated a dataset of ~ 1000 observed T cell epitopes from convalescent COVID-19 patients across eight studies, showing 8/15 recurrent epitope regions to overlap with at least one of our candidate peptides. Of the 22 candidate vaccine peptides, 16 (n = 10 T cell epitope optimized; n = 6 B cell epitope optimized) were manually selected to decrease their degree of sequence overlap and then synthesized. The immunogenicity of the synthesized vaccine peptides was validated using ELISpot and ELISA following murine vaccination. Strong T cell responses were observed in 7/10 T cell epitope optimized peptides following vaccination. Humoral responses were deficient, likely due to the unrestricted conformational space inhabited by linear vaccine peptides. Conclusions: Overall, we find our selection process and vaccine formulation to be appropriate for identifying T cell epitopes and eliciting T cell responses against those epitopes. Further studies are needed to optimize prediction and induction of B cell responses, as well as study the protective capacity of predicted T and B cell epitopes