Detailed project information

Title Code-generation for Large-scale Applications
Applicant : Dr. A.A. Wolters
Research institute : Universiteit Leiden
Faculteit der Wiskunde en Natuurwetenschappen
Leiden Institute of Advanced Computer Science (LIACS)
Location : Universiteit Leiden
Faculteit der Wiskunde en Natuurwetenschappen
Duration : 03/06/2000 tot 03/06/2004
Strategic goal : Vrije competitie
Finance : Eur 124.293
Subsidy Free Competition
 
Summary
In dit project werd onderzocht hoe de eerder ontwikkelde 'application driver' Ctadel aangepast en uitgebreid moest worden om ingezet te worden in verschillende toepassingsgebieden. Een application driver maakt het mogelijk een probleem mathematische te specificeren, waarna de driver automatisch een efficiënte code genereert voor een gegeven computerarchitectuur, variërend van een serieel, vector of parallel systeem tot een cluster van computers. Op die manier wordt het foutgevoelige en tijdrovende proces om handmatig een computermodel te ontwikkelen overbodig. Bovendien hoeft een computermodel niet voor iedere computerarchitectuur handmatig aangepast te worden, maar zorgt de driver hier automatisch voor.

De onderzochte toepassingen voor Ctadel waren een turbulentie-schema, een gekoppeld oceaanatmosfeer model, en een vochtigheidsmodel voor wolken. Door dit onderzoek is het onder meer mogelijk geworden om externe functies, verscheidene impliciete differentiaal vergelijkingen, combinaties van tijdstappen, conditionele expressies en triggers te gebruiken in Ctadel. In alle gevallen bleek de door Ctadel gegenereerde codes minstens zo efficiënt als de handgeschreven codes, en soms zelfs efficiënter.

Tenslotte is de automatisch gegenereerde code voor semi-Lagrangiaanse formuleringen onderzocht. Dit leverde een interessante resultaat op voor parallelle computersystemen met een gedistribueerd geheugen: bij een toenemend aantal processoren wordt de communicatietijd tussen de processoren groter dan de rekentijd. Met een nieuw ontwikkelde, dynamisch, toepassingsgedreven communicatiestrategie, geheten 'Halo On Demand', konden de onderzoekers deze communicatietijd drastisch reduceren, zodat semi-Lagrangiaanse formuleringen ook bij gebruik van een groot aantal processoren efficiënt zijn.

De resultaten van dit onderzoeksproject tonen aan dat automatische codegeneratie voor computermodellen realiseerbaar wordt.