SSN/73.2 (draft)

Starlink Project
Starlink System Note 73.2 (draft)

Mark Taylor

13 August 2001


EXTREME — Handling extreme data sets



Abstract

This package provides some utilities, background documentation, and associated files for adapting the Starlink Software Collection, and software which uses it, to handle very large data sets. The principal focus of this is to move to use of 64 bits of address space on 64-bit operating systems.

This document (SSN/73) is squarely aimed at the problem of adapting the Starlink Software Collection, and consequently focuses on the three operating systems (Solaris, Linux and Tru64) supported by Starlink, the compiled languages Fortran 77 and ANSI C, and Starlink’s somewhat idiosyncratic build mechanisms. However, some of the discussion here may be of interest or use to people who are considering the change from 32 to 64 bits for software in other contexts.

Contents

1 Introduction
2 Changeover to 64-bit systems
3 Modifications to code
 3.1 Pointer references in Fortran 77
 3.2 Enlarging integer type in Fortran 77
 3.3 Enlarging integer type in C
 3.4 Changes to makefile/mk
4 Overview of tools for making the modifications
5 EXTREME cribsheet: Converting for extreme data sets in 99 easy steps
A Description of tools
crepint – Replace int by INT_BIG in C
frepint – Replace INTEGER by INTEGER8 in Fortran 77