94,324 research outputs found

    QCDF90: Lattice QCD with Fortran 90

    Get PDF
    We have used Fortran 90 to implement lattice QCD. We have designed a set of machine independent modules that define fields (gauge, fermions, scalars, etc...) and overloaded operators for all possible operations between fields, matrices and numbers. With these modules it is very simple to write high-level efficient programs for QCD simulations. To increase performances our modules also implements assignments that do not require temporaries, and a machine independent precision definition. We have also created a useful compression procedure for storing the lattice configurations, and a parallel implementation of the random generators. We have widely tested our program and modules on several parallel and single processor supercomputers obtaining excellent performances.Comment: LaTeX file, 8 pages, no figures. More information available at: http://hep.bu.edu/~leviar/qcdf90.htm

    The Taming of QCD by Fortran 90

    Get PDF
    We implement lattice QCD using the Fortran 90 language. We have designed machine independent modules that define fields (gauge, fermions, scalars, etc...) and have defined overloaded operators for all possible operations between fields, matrices and numbers. With these modules it is very simple to write QCD programs. We have also created a useful compression standard for storing the lattice configurations, a parallel implementation of the random generators, an assignment that does not require temporaries, and a machine independent precision definition. We have tested our program on parallel and single processor supercomputers obtaining excellent performances.Comment: Talk presented at LATTICE96 (algorithms) 3 pages, no figures, LATEX file with ESPCRC2 style. More information available at: http://hep.bu.edu/~leviar/qcdf90.htm

    Fortran 90: a thumbnail sketch

    Get PDF

    JMASM1: \u3cem\u3eRANGEN\u3c/em\u3e 2.0 (\u3cem\u3eFortran\u3c/em\u3e 90/95)

    Get PDF
    Rangen 2.0 is Fortran 90 module of subroutines used to generate uniform and nonuniform pseudo-random deviates. It includes uni1, an uniform pseudo-random number generator, and non-uniform generators based on unil. The subroutines in Rangen 2.0 were written using Essential Lahey Fortran 90, a proper subset of Fortran 90. It includes both source code for the subroutines and a short description of each subroutine, its purpose, and the arguments including data type and usage

    Abstract data types in Fortran 90

    Get PDF

    Fortran for the nineties

    Get PDF
    Fortran has largely enjoyed prominence for the past few decades as the computer programming language of choice for numerically intensive scientific, engineering, and process control applications. Fortran's well understood static language syntax has allowed resulting parsers and compiler optimizing technologies to often generate among the most efficient and fastest run-time executables, particularly on high-end scalar and vector supercomputers. Computing architectures and paradigms have changed considerably since the last ANSI/ISO Fortran release in 1978, and while FORTRAN 77 has more than survived, it's aged features provide only partial functionality for today's demanding computing environments. The simple block procedural languages have been necessarily evolving, or giving way, to specialized supercomputing, network resource, and object-oriented paradigms. To address these new computing demands, ANSI has worked for the last 12-years with three international public reviews to deliver Fortran 90. Fortran 90 has superseded and replaced ISO FORTRAN 77 internationally as the sole Fortran standard; while in the US, Fortran 90 is expected to be adopted as the ANSI standard this summer, coexisting with ANSI FORTRAN 77 until at least 1996. The development path and current state of Fortran will be briefly described highlighting the many new Fortran 90 syntactic and semantic additions which support (among others): free form source; array syntax; new control structures; modules and interfaces; pointers; derived data types; dynamic memory; enhanced I/O; operator overloading; data abstraction; user optional arguments; new intrinsics for array, bit manipulation, and system inquiry; and enhanced portability through better generic control of underlying system arithmetic models. Examples from dynamical astronomy, signal and image processing will attempt to illustrate Fortran 90's applicability to today's general scalar, vector, and parallel scientific and engineering requirements and object oriented programming paradigms. Time permitting, current work proceeding on the future development of Fortran 2000 and collateral standards will be introduced
    • …
    corecore