10 papers · ranked by Valyu relevance
Mateusz Gruzewski, Marek Palkowski, Ramon Antonio Rodriges Zalipynis
In this article, we present an efficient and concise OpenMP implementation of the Nussinov RNA folding algorithm, a well-known representative of non-serial polyadic dynamic programming (NPDP). Our goal is to develop an optimized implementation that can serve as a template for related dynamic programming applications.…
Bjarne Stroustrup
We present programming techniques to illustrate the facilities and principles of C++ generic programming using concepts. Concepts are C++'s way to express constraints on generic code. As an initial example, we provide a simple type system that eliminates narrowing conversions and provides range checking without…
Weizong Li, Yong-Chang Jiao, Yixuan Zhang, Li Zhang + 1 more
High-performance difference patterns (DPs) are critical for compact and integrated microwave array systems, particularly in monopulse tracking and beam-scanning applications. However, the design of monopulse phased arrays with steep slopes, high directivity, low sidelobes, and symmetric main lobes remains challenging…
Zhen Yang, Yuxiang Yang, Baiqian Wang, Yaoyu Tao + 6 more
In-memory computing based on nonvolatile synaptic arrays with computing functions has significantly improved the computing energy efficiency of neural networks. However, current synaptic devices are mostly limited to accelerating matrix-vector multiplication operators, and the differentiated requirements for device…
Andrew Scott, Claus Bauzà, Adrià Bofill-Petit, Albert Font + 11 more
We present the design and characterisation of a 4.2-megapixel, wafer-scale CMOS image sensor, achieving over 5000 frames per second at full resolution. The sensor has a pixel pitch of 58 µm square pixels, thus being as large as a full 200 mm wafer. The sensor is read out on two sides and features column-parallel…
Clyde Meli, Vitezslav Nezval, Zuzana Komínková Oplatková, Victor Buttigieg + 1 more
Different bitstring representations offer different performance computations. This work describes three different bitstring representations: i) std::bitset, ii) Boost::dynamic\_bitset, and iii) a custom direct implementation, written in the C++ programming language. Their performance is benchmarked in the context of…
Laeyong Jung, Hojung Jang, Jongseon Seo, Hyunsang Hwang
High-density memory systems require a high on-state current density (Jon) to ensure fast read speeds and large sensing margins in cross-point array applications. However, achieving high Jon in atomically thin ferroelectric tunnel junctions (FTJs) remains an unmet challenge, hindered by parasitic interfacial layer (IL)…
Michel Adam, Patrice Frison, Sabine Letellier Zarshenas, Moncef Daoud
Program construction in imperative languages remains largely based on writing textual code that specifies sequences of instructions operating on program data. This approach requires developers to anticipate the effects of instructions on evolving data states, which increases cognitive load and the likelihood of errors…
Valentin Aebi, Carlo A. Furia
Refinement types are a static verification technique that aims at increasing the expressivity of traditional type systems while remaining easy and natural to use. While systems based on refinement types have been developed for several mainstream languages, their practical adoption remains limited by their annotation…
Attila Egri-Nagy
The advancement of automated coding tools may reduce in the future the number of people willing to learn computer programming. We assume that the skill of computational problem solving is not only for the immediate economic benefit, but an important part of our knowledge about the world. As the incentives to learn are…