0000000000802095

AUTHOR

Sebastian Hack

showing 3 related works from this author

A dynamic program analysis to find floating-point accuracy problems

2012

Programs using floating-point arithmetic are prone to accuracy problems caused by rounding and catastrophic cancellation. These phenomena provoke bugs that are notoriously hard to track down: the program does not necessarily crash and the results are not necessarily obviously wrong, but often subtly inaccurate. Further use of these values can lead to catastrophic errors.In this paper, we present a dynamic program analysis that supports the programmer in finding accuracy problems. Our analysis uses binary translation to perform every floating-point computation side by side in higher precision. Furthermore, we use a lightweight slicing approach to track the evolution of errors.We evaluate our…

Floating pointComputer engineeringComputer scienceComputationRoundingReal-time computingBinary translationDynamic program analysisBenchmark (computing)ProgrammerProceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation
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

AnyDSL: a partial evaluation framework for programming high-performance libraries

2023

This paper advocates programming high-performance code using partial evaluation. We present a clean-slate programming system with a simple, annotation-based, online partial evaluator that operates on a CPS-style intermediate representation. Our system exposes code generation for accelerators (vectorization/parallelization for CPUs and GPUs) via compiler-known higher-order functions that can be subjected to partial evaluation. This way, generic implementations can be instantiated with target-specific code at compile time. In our experimental evaluation we present three extensive case studies from image processing, ray tracing, and genome sequence alignment. We demonstrate that using partial …

Intermediate languageComputer science020207 software engineeringImage processing02 engineering and technologyParallel computingPartial evaluation004020204 information systems0202 electrical engineering electronic engineering information engineeringCode generationRay tracing (graphics)General-purpose computing on graphics processing unitsSafety Risk Reliability and QualityImplementationSoftwareCompile time
researchProduct