User Tools

Site Tools


publication

Publication details

Abstract

Even small improvements to applications can have a huge impact when running on massive parallel systems. Domain experts often lack sufficient computer science expertise or face significant challenges when trying to implement new features such as data compression or parallel I/O. We present an extension to CATO, a code transformation tool that automatically inserts new features and optimisations into scientific code to demonstrate their use and benefits. It helps to overcome initial barriers and supports guided self-learning in a user-friendly way. In this work we implement and evaluate an LLVM pass to automatically find, analyse and transform an application using the netCDF API to optimise the runtime and memory as well as the storage footprint during the I/O phase of the application by inserting parallelisation and compression. Our evaluation shows good speedup and near-optimal memory usage when the modified application is run on distributed hardware using Lustre as the parallel file system backend.

BibTeX

@article{ACTONCFIOS24,
	author	 = {Jannek Squar and Anna Fuchs and Michael Kuhn and Thomas Ludwig},
	title	 = {{Automatic Code Transformation of NetCDF Code for I/O Optimisation}},
	year	 = {2024},
	month	 = {05},
	journal	 = {PARS-Mitteilungen},
	number	 = {36},
	pages	 = {27--36},
	abstract	 = {Even small improvements to applications can have a huge impact when running on massive
      parallel systems. Domain experts often lack sufficient computer science expertise or face
      significant challenges when trying to implement new features such as data compression or
      parallel I/O. We present an extension to CATO, a code transformation tool that automatically
      inserts new features and optimisations into scientific code to demonstrate their use and
      benefits. It helps to overcome initial barriers and supports guided self-learning in a
      user-friendly way. In this work we implement and evaluate an LLVM pass to automatically find,
      analyse and transform an application using the netCDF API to optimise the runtime and memory
      as well as the storage footprint during the I/O phase of the application by inserting
      parallelisation and compression. Our evaluation shows good speedup and near-optimal memory
      usage when the modified application is run on distributed hardware using Lustre as the
      parallel file system backend.},
	url	 = {https://dl.gi.de/items/b8d9fa44-1081-4124-8cb2-463a02c32b88},
}

publication.txt · Last modified: 2019-01-23 10:26 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki