ABSTRACT

Research in programming environments for supercomputers covers several broad areas, including the design of very high level specification tools, the development of new programming languages, and supercompilers that transform code written in a sequential programming language into equivalent concurrent code that can be efficiently executed on a target machine. This chapter is concerned with the last of these, which is also known as automatic restructuring. It examines techniques and systems which were mainly developed for the purpose of transforming sequential numerical programs for large-scale scientific and engineering applications into concurrent programs. The chapter discusses programming environments to support the task of automatic restructuring. It outlines the typical phases of program development and describes the basic scheme for an interactive restructuring system. The chapter provides most important requirements for a suitable programming environment for concurrent computers. The chapter considers some requirements that should be met by advanced software environments supporting program development for concurrent computers.