In this contribution, metapod, a novel C++ library computing efficiently dynamic algorithms is presented. It uses template-programming techniques together with code-generation. The achieved performances shows some adv...
详细信息
ISBN:
(纸本)9781479971749
In this contribution, metapod, a novel C++ library computing efficiently dynamic algorithms is presented. It uses template-programming techniques together with code-generation. The achieved performances shows some advantage over the state-of-the art dynamic library RBDL mostly on ATOM processor and for the inertia matrix computation, which are relevant for robotics application. On recent desktop computer, the ratio of the gain is not so obvious and in general the time achieved by both library is not significantly different for inverse dynamics. The advantage of this library is that it is open-source and does not rely on any external symbolic computational software. A main drawback is the increase complexity in debugging the code source due to templateprogramming. Additionnaly we show how it can help in current control problems for humanoid robots, and more specifically for dynamic filtering of walking gait trajectories.
meta-programming paradigm and policy-based design are less known programming techniques in Digital Signal Processing (DSP) community, used to coding in pure C or assembly language. Major software components, like C++ ...
详细信息
meta-programming paradigm and policy-based design are less known programming techniques in Digital Signal Processing (DSP) community, used to coding in pure C or assembly language. Major software components, like C++ STL, have proven usefulness of such paradigms in providing top performance of highly optimised native code, along with abstraction and modularity necessary in complex software projects. This paper describes composition of DSP code using these techniques, bringing as an example implementation of Feedback Delay Network (FDN) artificial reverberation algorithm. The proposed approach was proven to be practical, especially in case of prototyping computationally intense algorithms. To provide further performance insight, we discuss the techniques in context of other optimisation methods, like Single Instruction Multiple Data (SIMD) instruction sets usage and exploitation of superscalar architecture capabilities.
We present QUAFF, a new skeleton-based parallel programming library. Its main originality is to rely on C++ template meta-programming techniques to achieve high efficiency. In particular, by performing most of skeleto...
详细信息
We present QUAFF, a new skeleton-based parallel programming library. Its main originality is to rely on C++ template meta-programming techniques to achieve high efficiency. In particular, by performing most of skeleton instantiation and optimization at compile-time, QUAFF can keep the overhead traditionally associated to object-oriented implementations of skeleton-based parallel programming libraries very small. This is not done at the expense of expressivity. This is demonstrated in this paper by several applications, including a full-fledged, realistic real-time vision application. (c) 2006 Elsevier B.V. All rights reserved.
This paper introduces a new cross-platform programming framework for developing quantum-accelerated scientific computing applications and executing them on most of today's cloud-based quantum computers and simulat...
详细信息
ISBN:
(纸本)9783030504335;9783030504328
This paper introduces a new cross-platform programming framework for developing quantum-accelerated scientific computing applications and executing them on most of today's cloud-based quantum computers and simulators. It makes use of C++ template meta-programming techniques to implement quantum algorithms as generic, platform-independent expressions, which get automatically synthesized into device-specific compute kernels upon execution. Our software framework supports concurrent and asynchronous execution of multiple quantum kernels via a CUDA-inspired stream concept.
Developing efficient parallel programs is more difficult and complicated than developing sequential ones. Skeletal parallelism is a promising methodology for easy parallel programming in which users develop parallel p...
详细信息
ISBN:
(纸本)9783642164774
Developing efficient parallel programs is more difficult and complicated than developing sequential ones. Skeletal parallelism is a promising methodology for easy parallel programming in which users develop parallel programs by composing ready-made components called parallel skeletons. We developed.a parallel skeleton library SkeTo that provides parallel skeletons implemented in C++ and MPI for distributed-memory environments. In the new version of the library, the implementation of the parallel skeletons for lists is improved so that the skeletons equip themselves with fusion optimization. The optimization mechanism is implemented based on the programming technique called expression templates. In this paper, we illustrate the improved design and implementation of parallel skeletons for lists in the SkeTo library.
Foreign inline code eliminates the need for bridging libraries, as foreign libraries can be accessed in their native language in the middle of a Haskell module. The language-c-inline library takes care of putting all ...
详细信息
Foreign inline code eliminates the need for bridging libraries, as foreign libraries can be accessed in their native language in the middle of a Haskell module. The language-c-inline library takes care of putting all foreign code into a separate file, generating all marshalling code and foreign declarations as well as inserting all inter-language calls. With this approach, the use of foreign libraries is more coarse-grained where instead of calling a foreign function at a time from Haskell, foreign inline code combines multiple foreign library calls into one FFI invocation in an application-specific manner. This potentially lowers the overheads of cross-language calls in an application and effectively uses an application-specific cross-section of a foreign library.
In this paper we propose the SPARE C++ Library as a flexible tool for solving data driven modelling problems,where the domain space is not necessary constrained to be the set of real valued *** possibility to face Pat...
详细信息
ISBN:
(纸本)9781612848334
In this paper we propose the SPARE C++ Library as a flexible tool for solving data driven modelling problems,where the domain space is not necessary constrained to be the set of real valued *** possibility to face Pattern Recognition problems directly on structured domains (multimedia data,strings,graphs) is fundamental to the effective solution of many interesting applications in the field of content based retrieval and Knowledge *** an instance of this particular characteristic of SPARE,we considered a clustering problem defined in the string domain,focusing on the problem of cluster representation in data domains where only a dissimilarity measure can be *** this aim we propose to adopt the MinSOD (Minimum Sum of Distances) defined as the element of a cluster minimizing the sum of dissimilarities from all the other elements in the considered *** the precise computation of the MinSOD have a high computational cost,we propose a suboptimal procedure consisting in computing the representative of the cluster considering only a reduced pool of samples,instead of the whole set of objects in the *** have carried out some tests in order to ascertain the sensitivity of the clustering procedure with respect to the number of samples in the pool used to compute the *** show a good robustness of the proposed *** implementation is available as part of the SPARE library,published as an open source project.
暂无评论