0000000000530965

AUTHOR

Dustin Feld

showing 3 related works from this author

Pure Functions in C: A Small Keyword for Automatic Parallelization

2017

AbstractThe need for parallel task execution has been steadily growing in recent years since manufacturers mainly improve processor performance by increasing the number of installed cores instead of scaling the processor’s frequency. To make use of this potential, an essential technique to increase the parallelism of a program is to parallelize loops. Several automatic loop nest parallelizers have been developed in the past such as PluTo. The main restriction of these tools is that the loops must be statically analyzable which, among other things, disallows function calls within the loops. In this article, we present a seemingly simple extension to the C programming language which marks fun…

LOOP (programming language)Computer sciencemedia_common.quotation_subject020209 energy02 engineering and technologyParallel computingcomputer.software_genreToolchainTheoretical Computer ScienceTask (computing)Automatic parallelizationSide effect (computer science)Parallel processing (DSP implementation)020204 information systemsTheory of computationParallelism (grammar)0202 electrical engineering electronic engineering information engineeringPolytope model020201 artificial intelligence & image processingCompilerFunction (engineering)computerSoftwareInformation Systemsmedia_common2017 IEEE International Conference on Cluster Computing (CLUSTER)
researchProduct

VarySched: A Framework for Variable Scheduling in Heterogeneous Environments

2016

Despite many efforts to better utilize the potential of GPUs and CPUs, it is far from being fully exploited. Although many tasks can be easily sped up by using accelerators, most of the existing schedulers are not flexible enough to really optimize the resource usage of the complete system. The main reasons are (i) that each processing unit requires a specific program code and that this code is often not provided for every task, and (ii) that schedulers may follow the run-until-completion model and, hence, disallow resource changes during runtime. In this paper, we present VarySched, a configurable task scheduler framework tailored to efficiently utilize all available computing resources in…

ScheduleComputer science020204 information systemsDistributed computing0202 electrical engineering electronic engineering information engineeringProcessor scheduling020201 artificial intelligence & image processing02 engineering and technologyEfficient energy useScheduling (computing)2016 IEEE International Conference on Cluster Computing (CLUSTER)
researchProduct

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