a semi automatic fortran translator for the fnal second generation acp

Post on 25-Aug-2016

214 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

520

A SEMI AUTOMATIC FORTRAN TRANSLATOR FOR THE FNAL SECOND GENERATION ACP

R.C . BALL AND B .P . ROE

University of Michigan - Ann Arbor, Michigan 48109 - U.S.A .

In preparation for building a 250 VUP second generation Fermilab ACPsystem at Michigan for the CERN L3 experiment, we have developed asemi-automatic pre-compiler to convert event oriented programs into parallelcode for the ACP .

The Fermilab second generation ACP systemhardware consists of a set of MIPs R3000processors (15 VUPs/processor) in specialboards in VME crates . Each processor runs afull UNIX system and the whole array needs nomaster . However, it is capable of communicatingwith a VAX VMS computer which can serve as afront end .

A set of FORTRAN callable routines has beendeveloped by Fermilab to enable the user to usethe parallel power of this array. Whendesigning a new program these routines allcaconvenient and flexible communication betweenthe various processors . However, for existinglarge programs it is a non-trivial effort tochange them into a parallel form for ACP use.

We have helped automate this process bydeveloping a pre-compiler which does at least alarge fraction of the modification and in manycases almost all of the modification for eventoriented programs . We divide a user program sothat the bulk of the program is in one processwhich is replicated on the differentprocessors . The binary event input to allprocesses is through a single separate process,as is the binary event output .

There are three parts to the pre-compileraction :

1 . Give guidance to the program and addspecial features . This is done by the use ofACP command lines which are in the form ofcomment lines mainly in the main program .

2 . Intercept all I/0 statements and replacethem with calls to appropriate I/0 routines .

3 . Add the general I/0 routines, make upthe Job Description File needed by the ACP, andadd the generally needed ACP routines .

The ACP command lines tag various key pointsin the program and provide some options .

0920-5632/90/$3.50 ® Elsevier Science Publishers B.V .North-Holland

Nuclear Physics B (Proc . Suppl .) 16 (1990) 520North-Holland

The command lines are used to mark the startand end points for initialization, summary,event read in, event write out, and data retrieval . In addition they supply some neededinformation on random numbers, numbers of eventsto run, and indicate when to increment the eventnumber and when to add together the histogramsfrom the various processes .

Event binary output and event binary inputis sent to and from the many event processes bymeans of a single input or output process . Theread/write statements are converted into doloops and the record is moved from/to buffersfor I/0 process communication .

A version of the Gheisha hadron monte-carloprogram was tested . Tris is a program of ap-proximately 30,000 lines . A total of only 10 ACPcommand lines were needed . At present we aresimulating the ACP system on a MIPs M/120station which contains a single 82000 processor .

For up to five class 2 processes running onthe M/120 we find that the efficiency is about97 % compared to the original Gheisha (but withthe new random number routine) . For eight class2 processes there is an additional loss ofefficiency of about 2 to 3 %, presumably lue tomemory swapping . A test using the much larger L3simulation program, SIL3, based on GEANT is nowunder way. This research is supported by theU.S . National Science Foundation .

top related