{"title":"Pacific Sierra's VAST-HPF and VAST/77toHPF","authors":"J. Vanderlip","doi":"10.1109/M-PDT.1994.329809","DOIUrl":null,"url":null,"abstract":"WHAT CLASS OF HPF PROGRAMS WILL PERFORM WELL? To perform well, HPF programs must spend almost all their time in sections of code that can be partitioned across the processors. They also must access data that resides on the local processor almost all the time, and send or receive data from other processors very infrequently. This means that an HPF program should spend its time almost completely in array syntax or loops that can be performed in parallel, and should be written so that references to arrays in loops are aligned and distributed in the same way. VAST-HPF performs well on shifted sections. Real programs often use sections of arrays that are offset in one or more dimensions. A common construct in grid-based computations is the use of slightly shifted sections of arrays in nearestneighbor computations. For blockdistributed arrays, this means that communication is needed at the boundaries of the blocks. VAST-HPF makes the local distribution of such arrays slightly larger so that the edge values can be communicated into this expanded region. It enhances data locality by passing messages only for the elements at the edge of the offset section. VAST-HPF also performs well on reductions. Reduction operations, such as the summation of array elements, occur frequently in real programs. VAST-HPF handles reductions by reducing the distributed part of the array calculation on each processor, passing the partial reductions to a single processor for the final reduction, and then broadcasting the final result to all processors.","PeriodicalId":325213,"journal":{"name":"IEEE Parallel & Distributed Technology: Systems & Applications","volume":"90 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Parallel & Distributed Technology: Systems & Applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/M-PDT.1994.329809","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
WHAT CLASS OF HPF PROGRAMS WILL PERFORM WELL? To perform well, HPF programs must spend almost all their time in sections of code that can be partitioned across the processors. They also must access data that resides on the local processor almost all the time, and send or receive data from other processors very infrequently. This means that an HPF program should spend its time almost completely in array syntax or loops that can be performed in parallel, and should be written so that references to arrays in loops are aligned and distributed in the same way. VAST-HPF performs well on shifted sections. Real programs often use sections of arrays that are offset in one or more dimensions. A common construct in grid-based computations is the use of slightly shifted sections of arrays in nearestneighbor computations. For blockdistributed arrays, this means that communication is needed at the boundaries of the blocks. VAST-HPF makes the local distribution of such arrays slightly larger so that the edge values can be communicated into this expanded region. It enhances data locality by passing messages only for the elements at the edge of the offset section. VAST-HPF also performs well on reductions. Reduction operations, such as the summation of array elements, occur frequently in real programs. VAST-HPF handles reductions by reducing the distributed part of the array calculation on each processor, passing the partial reductions to a single processor for the final reduction, and then broadcasting the final result to all processors.