科技报告详细信息
A Single Thread to Fortran Coarray Transition Process for the Control Algorithm in the Space Radiation Code HZETRN
Singleterry, Robert C, Jr ; Ranjan, Desh ; Zubair, Mohammad
关键词: ALGORITHMS;    EXTRATERRESTRIAL RADIATION;    RADIATION TRANSPORT;    C (PROGRAMMING LANGUAGE);    FORTRAN;    COMPILERS;    CENTRAL PROCESSING UNITS;    PARALLEL PROCESSING (COMPUTERS);    ARRAYS;    OPERATING SYSTEMS (COMPUTERS);    TRANSMISSION RATE (COMMUNICATIONS);    CONTROLLERS;    MIMD (COMPUTERS);    MESSAGE PROCESSING;    RUN TIME (COMPUTERS);    INPUT/OUTPUT ROUTINES;    CONTROL DATA (COMPUTERS);   
RP-ID  :  NASA-TP-2018-219811,L-20908,NF1676L-29340
美国|英语
来源: NASA Technical Reports Server
PDF
【 摘 要 】
Exa-scale computing is the direction by industry and government are going to generate solutions to problems they deem necessary. Computing hardware is being developed to achieve the transition from Peta-scale to Exa-scale with more CPUs (Central Processing Units) that have more cores per CPU and more accelerators (GPGPUs (General Purpose Graphics Processing Units) and MICs (Many Integrated Cores)) per node. To fully utilize the hardware available now and in the future, algorithms must become multi-threaded. There are a few methods to generate multi-threaded software such as MPI (Message Passing Interface) and OpenMP (Multi-Processing) / OpenACC (ACCelerator). This paper concentrates on using Coarray Fortran to convert the Fortran 95 based HZETRN (High Z and Energy TRaNsport) code's control algorithm from a single threaded code to a multithreaded code. The resultant Coarray code was 32.5 times faster (with a theoretical speed-up of 74.5 times) than the single threaded version on the hardware tested, as reliable as the Fortran 95 version, and, as it uses native Fortran, was as maintainable as the Fortran 95 version. The Coarray code can be maintained by the same project engineers and scientists who created the original single threaded code. This transition process can be utilized on a C language based code with a compiler that has the UPC (Universal Parallel C) extensions to C.
【 预 览 】
附件列表
Files Size Format View
20180003198.pdf 2657KB PDF download
  文献评价指标  
  下载次数:14次 浏览次数:14次