Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] ablb_v1_0.gz(61 Kbytes)
Manuscript Title: A preprocessor for Fortran source code produced by REDUCE.
Authors: T. Kaneko, S. Kawabata
Program title: SPROC
Catalogue identifier: ABLB_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 55(1989)141
Programming language: Fortran.
Computer: FACOM-M780.
Operating system: OSIV.
RAM: 5K words
Word size: 32
Peripherals: disc.
Keywords: Computer algebra, Particle physics, Elementary, Computing, Preprocessor, Multi-dimensional Numerical integration, Vector processor, Super computer, Reduce, Optimization, Bases, Vbases.
Classification: 5, 11.1.

Nature of problem:
In high energy physics the numerical integration package is used to obtain the cross section for the physical process of interest. FORTRAN source code for the integrand is sometimes generated by a symbolic manipulation system REDUCE. Such a source code often becomes too long for FORTRAN compilers to obtain high level optimization. Even when source code is optimized enough, CPU-time of calculating integration may be too large to execute. CPU-time of the numerical integration can be shortened by using program package VBASES with vector computers. Since calculation of the integrand is the most time consuming part in the numerical integration, it is necessary to vectorize the integrand to extract high performance of a vector computer.

Solution method:
We have developed a program package SPROC which preprocesses FORTRAN source code generated by REDUCE. SPROC converts the original code to an optimized one, and devides it into subroutines whose length of code is small enough for FORTRAN compilers. SPROC also generates vectorizable code, which extracts high efficiency of vector computers. The resulting form of the output code is suitable for the numerical integration package BASES or its vector computer version VBASES. The CPU-time used for integration is shortened by a factor of about three on a scalar computer and of several ten on a vector computer.

Running time:
The running time depends especially on the complexity and length of the REDUCE output. If we take the process e+e- ->(Z0)-> Nu*Nu- * gamma as an example, the conversion of the source code takes 0.19 seconds on FACOM M382.