2,248 research outputs found
ESPecIaL an Embedded Systems Programming Language
Nowadays embedded systems, available at very low cost, are becoming more and more present in many fields such as industry, automotive and education. This master thesis presents a prototype implementation of an embedded systems programming language. This report focuses on a high-level language, specially developed to build embedded applications, based on the dataflow paradigm. Using ready-to-use blocks, the user describes the block diagram of his application, and its corresponding C++ code is generated automatically, for a specific target embedded system. With the help of this prototype Domain Specific Language (DSL), implemented using the Scala programming language, embedded applications can be built with ease. Low-level C/C++ codes are no more necessary. Real-world applications based on the developed Embedded Systems Programming Language are presented at the end of this document
Recommended from our members
A fully hardware-based memristive multilayer neural network
Memristive crossbar arrays promise substantial improvements in computing throughput and power efficiency through in-memory analog computing. Previous machine learning demonstrations with memristive arrays, however, relied on software or digital processors to implement some critical functionalities, leading to frequent analog/digital conversions and more complicated hardware that compromises the energy efficiency and computing parallelism. Here, we show that, by implementing the activation function of a neural network in analog hardware, analog signals can be transmitted to the next layer without unnecessary digital conversion, communication, and processing. We have designed and built compact rectified linear units, with which we constructed a two-layer perceptron using memristive crossbar arrays, and demonstrated a recognition accuracy of 93.63% for the Modified National Institute of Standard and Technology (MNIST) handwritten digits dataset. The fully hardware-based neural network reduces both the data shuttling and conversion, capable of delivering much higher computing throughput and power efficiency
Database of audio records
Diplomka a prakticky castDiplome with partical part
Optimisation opportunities and evaluation for GPGPU applications on low-end mobile GPUs
Previous works in the literature have shown the feasibility of general purpose computations for non-visual applications on low-end mobile graphics processors using graphics APIs. These works focused only on the functional aspects of the software, ignoring the implementation details and therefore their performance implications due to their particular micro-architecture. Since various steps in such applications can be implemented in multiple ways, we identify optimisation opportunities, explore the different options and evaluate them. We show that the implementation details can significantly affect the obtained performance with discrepancies up to 3 orders of magnitude and we demonstrate the effectiveness of our proposal on two embedded platforms, obtaining more than 16× speedup over benchmarks designed following OpenGL ES 2 best practices.This work has been partially supported by the Spanish Ministry of Science and Innovation under grant TIN2015-65316-P and the HiPEAC Network of Excellence.Peer ReviewedPostprint (author's final draft
Control System in Open-Source FPGA for a Self-Balancing Robot
Computing in technological applications is typically performed with software running on
general-purpose microprocessors, such as the Computer Processing Unit (CPU), or specific ones,
like the Graphical Processing Unit (GPU). Application-Specific Integrated Circuits (ASICs) are an
interesting option when speed and reliability are required, but development costs are usually high.
Field-Programmable Gate Arrays (FPGA) combine the flexibility of software with the high-speed
operation of hardware, and can keep costs low. The dominant FPGA infrastructure is proprietary, but
open tools have greatly improved and are a growing trend, from which robotics can benefit. This
paper presents a robotics application that was fully developed using open FPGA tools. An inverted
pendulum robot was designed, built, and programmed using open FPGA tools, such as IceStudio and
the IceZum Alhambra board, which integrates the iCE40HX4K-TQ144 from Lattice. The perception
from an inertial sensor is used in a PD control algorithm that commands two DC motors. All the
modules were synthesized in an FPGA as a proof of concept. Its experimental validation shows good
behavior and performance.This work was partially funded by the Community of Madrid through the RoboCity2030-III project
(S2013/MIT-2748) and by the Spanish Ministry of Economy and Competitiveness through the RETOGAR project
(TIN2016-76515-R)
TEAPOT: a toolset for evaluating performance, power and image quality on mobile graphics systems
In this paper we present TEAPOT, a full system GPU simulator, whose goal is to allow the evaluation of the GPUs that reside in mobile phones and tablets. To this extent,
it has a cycle accurate GPU model for evaluating performance, power models for the GPU, the memory subsystem and for OLED screens, and image quality metrics. Unlike
prior GPU simulators, TEAPOT supports the OpenGL ES 1.1/2.0 API, so that it can simulate all commercial graphical applications available for Android systems.
To illustrate potential uses of this simulating infrastructure, we perform two case studies. We first turn our attention
to evaluating the impact of the OS when simulating graphical applications. We show that the overall GPU power/performance is greatly aff ected by common OS tasks, such as image composition, and argue that application level simulation is not sufficient to understand the overall GPU
behavior. We then utilize the capabilities of TEAPOT to perform studies that trade image quality for energy. We demonstrate that by allowing for small distortions in the
overall image quality, a signifi cant amount of energy can be saved.Postprint (author’s final draft
- …