expression templates
Recently Published Documents


TOTAL DOCUMENTS

40
(FIVE YEARS 6)

H-INDEX

9
(FIVE YEARS 1)

2021 ◽  
Author(s):  
Yuxuan Jing ◽  
Rami M. Younis

Abstract Automatic differentiation software libraries augment arithmetic operations with their derivatives, thereby relieving the programmer of deriving, implementing, debugging, and maintaining derivative code. With this encapsulation however, the responsibility of code optimization relies more heavily on the AD system itself (as opposed to the programmer and the compiler). Moreover, given that there are multiple contexts in reservoir simulation software for which derivatives are required (e.g. property package and discrete operator evaluations), the AD infrastructure must also be adaptable. An Operator Overloading AD design is proposed and tested to provide scalability and computational efficiency seemlessly across memory- and compute-bound applications. This is achieved by 1) use of portable and standard programming language constructs (C++17 and OpenMP 4.5 standards), 2) adopting a vectorized programming interface, 3) lazy evaluation via expression templates, and 4) multiple memory alignment and layout policies. Empirical analysis is conducted on various kernels spanning various arithmetic intensity and working set sizes. Cache- aware roofline analysis results show that the performance and scalability attained are reliably ideal. In terms of floapting point operations executed per second, the performance of the AD system matches optimized hand-code. Finally, the implementation is benchmarked using the Automatically Differentiable Expression Templates Library (ADETL).


Author(s):  
Xinjie Chen ◽  
Yuan Lu

Cell-free gene expression systems with linear DNA expression templates (LDETs) have been widely applied in artificial cells, biochips, and high-throughput screening. However, due to the degradation caused by native nucleases in cell extracts, the transcription with linear DNA templates is weak, thereby resulting in low protein expression level, which greatly limits the development of cell-free systems using linear DNA templates. In this study, the protective sequences for stabilizing linear DNA and the transcribed mRNAs were rationally designed according to nucleases’ action mechanism, whose effectiveness was evaluated through computer simulation and cell-free gene expression. The cell-free experiment results indicated that, with the combined protection of designed sequence and GamS protein, the protein expression of LDET-based cell-free systems could reach the same level as plasmid-based cell-free systems. This study would potentially promote the development of the LDET-based cell-free gene expression system for broader applications.


2021 ◽  
Vol 33 (2) ◽  
pp. 20-40
Author(s):  
Михаил Михайлович Краснов ◽  
Mikhail Mikhailoivch Krasnov ◽  
Владислав Александрович Балашов ◽  
Vladislav Aleksandrovich Balashov ◽  
Евгений Борисович Савенков ◽  
...  
Keyword(s):  

Настоящая работа посвящена описанию применения сеточного-операторного подхода к программированию, который позволяет, с одной стороны, кратко записывать математические формулы над сеточными функциями в текстах программ за счeт использования программных сеточных операторов, аналогичных математическим операторам, а с другой стороны, легко, практически простой перекомпиляцией, переносить программы на графические ускорители CUDA. Сеточно-операторный подход к программированию широко использует шаблоны выражений (expression templates), основанные на метапрограммировании шаблонов языка C++, для программной реализации сеточных операторов. Сеточные операторы могут быть применены к сеточным выражениям для создания новых сеточных выражений. Такой подход позволяет рекурсивно строить сеточные выражения любой сложности. Фактически вычисления запускаются только при присваивании сеточного выражения сеточной функции, до этого цепочка вычислений просто запоминается в сеточном выражении. Таким образом, реализуется концепция отложенных вычислений. В данной работе показывается, как данный подход может быть использован для реализации достаточно сложного алгоритма, использующего сеточные функции на разных элементах сетки (ячейках, вершинах, гранях). За счeт использования сеточных операторов программная реализация достаточно сложных формул становится на столько же прозрачной, как соответствующие математические выражения.


2020 ◽  
Author(s):  
Bo Zhu ◽  
Rui Gan ◽  
Maria D. Cabezas ◽  
Takaaki Kojima ◽  
Robert Nicol ◽  
...  

AbstractIn crude extract-based cell-free protein synthesis (CFPS), DNA templates are transcribed and translated into functional proteins. Although linear expression templates (LETs) are less laborious and expensive to generate, plasmid templates are often desired over PCR-generated LETs due to increased stability and protection against exonucleases present in the extract of the reaction. Here we demonstrate that addition of a dsDNA-binding protein to the CFPS reaction, termed single-chain Cro protein (scCro), achieves terminal protection of LETs. This CroP-LET (scCro-based Protection of LET) method effectively increases sfGFP expression levels from LETs in Escherichia coli CFPS reactions by 6-fold. Our yields are comparable to other strategies that provide chemical and enzymatic DNA stabilization in E. coli CFPS. Notably, we also report that the CroP-LET method successfully enhanced yields in CFPS platforms derived from non-model organisms. Our results show that CroP-LET increased sfGFP yields by 18-fold in the Vibrio natriegens CFPS platform. With the fast-expanding applications of CFPS platforms, this method provides a practical and generalizable solution to protect linear expression DNA templates.


2018 ◽  
Vol 175 ◽  
pp. 09006 ◽  
Author(s):  
Peter A. Boyle ◽  
M.A. Clark ◽  
Carleton DeTar ◽  
Meifeng Lin ◽  
Verinder Rana ◽  
...  

One of the key requirements for the Lattice QCD Application Development as part of the US Exascale Computing Project is performance portability across multiple architectures. Using the Grid C++ expression template as a starting point, we report on the progress made with regards to the Grid GPU offloading strategies. We present both the successes and issues encountered in using CUDA, OpenACC and Just-In-Time compilation. Experimentation and performance on GPUs with a SU(3)×SU(3) streaming test will be reported. We will also report on the challenges of using current OpenMP 4.x for GPU offloading in the same code.


2017 ◽  
Vol 47 (11) ◽  
pp. 1521-1537
Author(s):  
Bruno Bachelet ◽  
Loïc Yon
Keyword(s):  

Sign in / Sign up

Export Citation Format

Share Document