1,586 research outputs found
Variable elimination for building interpreters
In this paper, we build an interpreter by reusing host language functions
instead of recoding mechanisms of function application that are already
available in the host language (the language which is used to build the
interpreter). In order to transform user-defined functions into host language
functions we use combinatory logic : lambda-abstractions are transformed into a
composition of combinators. We provide a mechanically checked proof that this
step is correct for the call-by-value strategy with imperative features.Comment: 33 page
Sketched Answer Set Programming
Answer Set Programming (ASP) is a powerful modeling formalism for
combinatorial problems. However, writing ASP models is not trivial. We propose
a novel method, called Sketched Answer Set Programming (SkASP), aiming at
supporting the user in resolving this issue. The user writes an ASP program
while marking uncertain parts open with question marks. In addition, the user
provides a number of positive and negative examples of the desired program
behaviour. The sketched model is rewritten into another ASP program, which is
solved by traditional methods. As a result, the user obtains a functional and
reusable ASP program modelling her problem. We evaluate our approach on 21 well
known puzzles and combinatorial problems inspired by Karp's 21 NP-complete
problems and demonstrate a use-case for a database application based on ASP.Comment: 15 pages, 11 figures; to appear in ICTAI 201
Dwarfs on Accelerators: Enhancing OpenCL Benchmarking for Heterogeneous Computing Architectures
For reasons of both performance and energy efficiency, high-performance
computing (HPC) hardware is becoming increasingly heterogeneous. The OpenCL
framework supports portable programming across a wide range of computing
devices and is gaining influence in programming next-generation accelerators.
To characterize the performance of these devices across a range of applications
requires a diverse, portable and configurable benchmark suite, and OpenCL is an
attractive programming model for this purpose. We present an extended and
enhanced version of the OpenDwarfs OpenCL benchmark suite, with a strong focus
placed on the robustness of applications, curation of additional benchmarks
with an increased emphasis on correctness of results and choice of problem
size. Preliminary results and analysis are reported for eight benchmark codes
on a diverse set of architectures -- three Intel CPUs, five Nvidia GPUs, six
AMD GPUs and a Xeon Phi.Comment: 10 pages, 5 figure
Ranking programming languages by energy efficiency
This paper compares a large set of programming languages regarding their
efficiency, including from an energetic point-of-view. Indeed, we seek to establish
and analyze different rankings for programming languages based on their energy
efficiency. The goal of being able to rank languages with energy in mind is a
recent one, and certainly deserves further studies.
We have taken 19 solutions to well defined programming problems, expressed
in (up to) 27 programming languages, from well know repositories such as the
Computer Language Benchmark Game and Rosetta Code. We have also built a
framework to automatically, and systematically, run, measure and compare the
efficiency of such solutions. Ultimately, it is based on such comparison that we
propose a serious of efficiency rankings, based on multiple criteria.
Our results show interesting findings, such as, slower/faster languages consuming less/more energy, and how memory usage influences energy consumption. We also show how to use our results to provide software engineers support
to decide which language to use when energy efficiency is a concern(University of Porto) for the help that he
provided. This work is financed by the ERDF – European Regional Development
Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme within project POCI-01-0145-FEDER-006961,
and by National Funds through the Portuguese funding agency, FCT - Funda¸c˜ao para a
Ciˆencia e a Tecnologia within project POCI-01-0145-FEDER-016718 and UID/EEA/50014/2013.
The first and second authors are also sponsored by FCT grants SFRH/BD/112733/2015
and SFRH/BD/132485/201
- …