Performance measurements of kernels from advanced applications demonstrate that with a highâ€level data parallel language such as HPF+ a performance close to handâ€written messageâ€passing programs can be achieved even for highly irregular codes. This comprises data locality assertions, nonâ€local access specifications and the possibility of reusing runtimeâ€generated communication schedules of irregular loops. In addition to extended data distribution and work distribution mechanisms, HPF+ provides the user with language features for specifying certain information that decisively influence a program’s performance. In this paper we introduce the Vienna Fortran Compiler (VFC, a new sourceâ€toâ€source parallelization system for HPF+, an optimized version of HPF, which addresses the requirements of irregular applications. Available HPF compilers can handle regular codes quite efficiently, but dramatic performance losses may be encountered for applications which are based on highly irregular, dynamically changing data structures and access patterns. Since these optimization.ĭirectory of Open Access Journals (Sweden)įull Text Available High Performance Fortran (HPF offers an attractive highâ€level language interface for programming scalable parallel architectures providing the user with directives for the specification of data distribution and delegating to the compiler the task of generating an explicitly parallel program. Compilers for distributed-memory systems generate code that is based on runtime analysis techniques and is only efficient if, in addition, aggressive compile-time optimizations are applied. Vienna Fortran, a machine-independent language extension to Fortran which allows the user to write programs for distributed-memory systems using global addresses, provides the forall-loop construct for specifying irregular computations that do not cause inter-iteration dependences. SVM Support in the Vienna Fortran Compilation Systemīrezany, Peter Gerndt, Michael Sipkova, Viera We achieve a 3.8Ã- speedup in the case study below. For some projects on some machines, it can be advantageous to compile in two passes: The first pass generates the module files, quickly the second pass produces the object files, in parallel. As it happens, this option usually runs much faster than the object code generation and optimization phases. Some Fortran compilers (Intel ifort, GNU gfortran and IBM xlf, at least) offer an option to ‘‘verify syntax’’, with the side effect of also producing any associated Fortran module files. If file A depends on file B, (A uses a module defined by B), you must finish compiling B before you can begin compiling A. (LLNL), Livermore, CA (United States)įortran modules tend to serialize compilation of large Fortran projects, by introducing dependencies among the source files. Energy Technology Data Exchange (ETDEWEB)īusby, L.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |