Search results for "Compiler"

showing 10 items of 33 documents

Extending PluTo for Multiple Devices by Integrating OpenACC

2018

For many years now, processor vendors increased the performance of their devices by adding more cores and wider vectorization units to their CPUs instead of scaling up the processors' clock frequency. Moreover, GPUs became popular for solving problems with even more parallel compute power. To exploit the full potential of modern compute devices, specific codes are necessary which are often coded in a hardware-specific manner. Usually, the codes for CPUs are not usable for GPUs and vice versa. The programming API OpenACC tries to close this gap by enabling one code-base to be suitable and optimized for many devices. Nevertheless, OpenACC is rarely used by `standard programmers' and while dif…

060201 languages & linguisticsMulti-core processorExploitComputer scienceClock rate06 humanities and the arts02 engineering and technologyParallel computingUSablecomputer.software_genrePluto0602 languages and literature0202 electrical engineering electronic engineering information engineering020201 artificial intelligence & image processingCompilercomputer2018 26th Euromicro International Conference on Parallel, Distributed and Network-based Processing (PDP)
researchProduct

Semantics for Managing Systems in Heterogeneous and Distributed Environment

2002

The problem of legacy systems collaboration is being solved. Particularly we look at the collaboration as workflow in a distributed and heterogeneous environment. Attention is paid to the description of semantics for workflow process definition languages. There are many solutions how semantics can be decomposed into logical fragments, but the problem of obtaining reusable components that are easy to compile into desired specific semantics still remains. We evolve the division of semantics by semantic aspects whose description is based on abstract data types (pre-built components) and connectors (meta-programs to produce the glue code) between them. This paper offers a way in which semantic …

Distributed Computing EnvironmentDomain-specific languageKnowledge managementbusiness.industryProgramming languageComputer scienceSemantics (computer science)Legacy systemcomputer.software_genreAbstract data typeWorkflowGlue codeCompilerbusinesscomputer
researchProduct

Model Transformation Languages and Their Implementation by Bootstrapping Method

2008

In this paper a sequence of model transformation languages L0, L1, L2 is defined. The first language L0 is very simple, and for this language it is easy to build an efficient compiler to C++. The next language L1 is an extension of L0, and it contains powerful pattern definition facilities. The last language L2 is of sufficiently high level and can be used for implementation of traditional pattern-based high level model transformation languages, as well as for the development of model transformations directly. For languages L1 and L2 efficient compilers have been built using the bootstrapping method: L1 to L0 in L0, and L2 to L1 in L1. The results confirm the efficiency of model transformat…

Domain-specific languageTheoretical computer scienceProgramming languageComputer scienceModel transformationFirst languagecomputer.software_genreTransformation languageThird-generation programming languageTransformation (function)CompilercomputerBootstrapping (compilers)computer.programming_language
researchProduct

Present state of the MAMI control system

1990

Abstract MAMI (Mainz Microtron) is an electron accelerator consisting of a cascade of three race-track microtrons, with an output electron beam of 855 MeV and 100 μA cw [1]. The first two stages (output energy 180 MeV) were operative for nuclear-physics experiments from 1983 to 1987 and have since been transferred to a new building. They will serve as an injector for the third stage, now under construction. The control system for MAMI was based on a versatile process communication software system for a network of processors with multiprocess operating systems. This system has previously proved very successful, so we decided to rely on it as control system for the new, upgraded accelerator, …

EthernetPhysicsNuclear and High Energy Physicsbusiness.industrycomputer.software_genreAutomationSoftwareControl systemSoftware systemCompilerBeam emittancebusinessInstrumentationMicrotroncomputerComputer hardwareNuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment
researchProduct

AnySeq: A High Performance Sequence Alignment Library based on Partial Evaluation

2020

Sequence alignments are fundamental to bioinformatics which has resulted in a variety of optimized implementations. Unfortunately, the vast majority of them are hand-tuned and specific to certain architectures and execution models. This not only makes them challenging to understand and extend, but also difficult to port to other platforms. We present AnySeq - a novel library for computing different types of pairwise alignments of DNA sequences. Our approach combines high performance with an intuitively understandable implementation, which is achieved through the concept of partial evaluation. Using the AnyDSL compiler framework, AnySeq enables the compilation of algorithmic variants that ar…

FOS: Computer and information sciences0301 basic medicineScheme (programming language)Computer Science - PerformanceComputer science0206 medical engineeringSequence alignment02 engineering and technologyParallel computingcomputer.software_genreMetaprogrammingDNA sequencingPartial evaluationPerformance (cs.PF)03 medical and health sciences030104 developmental biologyComputer Science - Distributed Parallel and Cluster ComputingFunction composition (computer science)MultithreadingDistributed Parallel and Cluster Computing (cs.DC)Compilercomputer020602 bioinformaticscomputer.programming_languageCodebase
researchProduct

Efficient and portable acceleration of quantum chemical many-body methods in mixed floating point precision using OpenACC compiler directives

2016

It is demonstrated how the non-proprietary OpenACC standard of compiler directives may be used to compactly and efficiently accelerate the rate-determining steps of two of the most routinely applied many-body methods of electronic structure theory, namely the second-order M{\o}ller-Plesset (MP2) model in its resolution-of-the-identity (RI) approximated form and the (T) triples correction to the coupled cluster singles and doubles model (CCSD(T)). By means of compute directives as well as the use of optimized device math libraries, the operations involved in the energy kernels have been ported to graphics processing unit (GPU) accelerators, and the associated data transfers correspondingly o…

Floating pointComputer scienceBiophysicsGraphics processing unitFOS: Physical sciences010402 general chemistrycomputer.software_genre01 natural sciencesPortingSingle-precision floating-point formatComputational sciencePhysics - Chemical Physics0103 physical sciencesPhysical and Theoretical ChemistryMolecular BiologyChemical Physics (physics.chem-ph)010304 chemical physicsComputational Physics (physics.comp-ph)Condensed Matter Physics0104 chemical sciencesNode (circuits)CompilerCentral processing unitHost (network)computerPhysics - Computational Physics
researchProduct

Teaching Language Engineering Using MPS

2021

At universities, computer language handling is most often taught with a focus on compiler theory. However, in practical applications, domain-specific languages (DSLs) are much more important. DSLs implement model-driven technology in an understandable way, as models can be expressed easily using DSLs. One interesting domain for DSLs in this context is language handling itself, and many current tools for language handling are model-driven and based on meta-models. This chapter connects compiler theory and meta-modelling within a university course about language handling. The course features the relevant theory and uses MPS as a practical tool. We show how MPS is used in the course and discus…

Focus (computing)Compiler constructionComputer sciencebusiness.industryTeaching languageContext (language use)Software engineeringbusinessDomain (software engineering)
researchProduct

Pair potential calculation of molecular associations: a vectorized version

1991

Abstract The program AMYRVF is a vectorized and largely modified version of a previous program called AMYR for calculating molecular associations by means of Fraga's pair-wise atom-atom potential. Three new minimization procedures have been implemented as well as other improvements such as the inclusion of new pair-wise dispersion energy terms with damping functions, and the calculation of topological indices. Benchmark tests have been carried out on an IBM 3090 150E VF; the timings for the new vector algorithms and for the standard scalar computations, as well as the dependence of the overall performance gain on the size of interacting systems are reported for the VS Fortran 2.4 compiler e…

FortranComputationScalar (mathematics)General Physics and AstronomyIBM 3090computer.software_genreHardware and ArchitectureMinificationCompilerOverall performancePair potentialcomputerAlgorithmMathematicscomputer.programming_languageComputer Physics Communications
researchProduct

MLOG: a strongly typed confluent functional language with logical variables

1994

Poirriez, V., MLOG: a strongly typed confluent functional language with logical variables, Theoretical Computer Science 122 (1994) 201-223. A new programming language called MLOG is introduced. MLOG is a conservative extension of ML with logical variables. To validate our concepts, a compiler named CAML Light FLU0 was implemented. Numerous examples are presented to illustrate the possibilities of MLOG. The pattern matching of ML is kept for X-calculus bindings and an unification primitive is introduced for the logical variables bindings. A suspension mechanism allows cohabitation of pattern-matching and logical variables, Although the evaluation strategy for the application is fixed, the or…

Functional programmingEvaluation strategyTheoretical computer scienceGeneral Computer ScienceCamlUnificationcomputer.software_genreOperational semanticsTheoretical Computer ScienceAlgebraTheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGESConservative extensionPattern matchingCompilercomputercomputer.programming_languageMathematicsComputer Science(all)Theoretical Computer Science
researchProduct

Teaching computer language handling - From compiler theory to meta-modelling

2011

Published version of a chapter in the book: Generative and Transformational Techniques in Software Engineering III. Also available from the publisher at: http://dx.doi.org/10.1007/978-3-642-18023-1_14 Most universities teach computer language handling by mainly focussing on compiler theory, although MDA (model-driven architecture) and meta-modelling are increasingly important in the software industry as well as in computer science. In this article, we investigate how traditional compiler theory compares to meta-modelling with regard to formally defining the different aspects of a language, and how we can expand the focus in computer language handling courses to also include meta-model-based…

Graph rewritingFocus (computing)SoftwareCompiler constructionbusiness.industryProgramming languageComputer scienceAbstract syntaxVDP::Technology: 500::Information and communication technology: 550Architecturebusinesscomputer.software_genrecomputer
researchProduct