{"title":"等离子体细胞内粒子模拟代码的通用并行算法","authors":"P. Liewer, V. Decyk, J. Dawson, G. Fox","doi":"10.1145/63047.63063","DOIUrl":null,"url":null,"abstract":"We have developed a new algorithm for implementation of plasma particle-in-cell (PIC) simulation codes on concurrent processors. This algorithm, termed the universal concurrent PIC algorithm (UC-PIC), has been utilized in a one-dimensional electrostatic PIC code on the JPL Mark III Hypercube parallel computer. To decompose the problem using the UC-PIC algorithm, the physical domain of the simulation is divided into sub-domains, equal in number to the number of processors, such that all sub-domains have roughly equal numbers of particles. For problems with non-uniform particle densities, these sub-domains will be of unequal physical size. Each processor is assigned, a sub-domain, with nearest neighbor sub-domains assigned to nearest neighbor processors. Using this algorithm in the Mark III PIC code, the increase in speed in going from 1 to 32 processors for the dominant portion of code (push time, defined below) was 29, yielding a parallel efficiency of 90%. Although implemented on a hypercube concurrent computer, this algorithm should be also be efficient for PIC codes on other parallel architectures and on sequential computers where part of the data resides in external memory.","PeriodicalId":299435,"journal":{"name":"Conference on Hypercube Concurrent Computers and Applications","volume":"61 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":"{\"title\":\"A universal concurrent algorithm for plasma particle-in-cell simulation codes\",\"authors\":\"P. Liewer, V. Decyk, J. Dawson, G. Fox\",\"doi\":\"10.1145/63047.63063\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We have developed a new algorithm for implementation of plasma particle-in-cell (PIC) simulation codes on concurrent processors. This algorithm, termed the universal concurrent PIC algorithm (UC-PIC), has been utilized in a one-dimensional electrostatic PIC code on the JPL Mark III Hypercube parallel computer. To decompose the problem using the UC-PIC algorithm, the physical domain of the simulation is divided into sub-domains, equal in number to the number of processors, such that all sub-domains have roughly equal numbers of particles. For problems with non-uniform particle densities, these sub-domains will be of unequal physical size. Each processor is assigned, a sub-domain, with nearest neighbor sub-domains assigned to nearest neighbor processors. Using this algorithm in the Mark III PIC code, the increase in speed in going from 1 to 32 processors for the dominant portion of code (push time, defined below) was 29, yielding a parallel efficiency of 90%. Although implemented on a hypercube concurrent computer, this algorithm should be also be efficient for PIC codes on other parallel architectures and on sequential computers where part of the data resides in external memory.\",\"PeriodicalId\":299435,\"journal\":{\"name\":\"Conference on Hypercube Concurrent Computers and Applications\",\"volume\":\"61 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1989-01-03\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"13\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Conference on Hypercube Concurrent Computers and Applications\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/63047.63063\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Conference on Hypercube Concurrent Computers and Applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/63047.63063","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13
摘要
我们开发了一种在并发处理器上实现等离子体胞内粒子(PIC)仿真代码的新算法。该算法被称为通用并行PIC算法(UC-PIC),已在JPL Mark III超立方并行计算机上的一维静电PIC代码中得到应用。为了使用UC-PIC算法分解问题,将仿真的物理域划分为子域,子域的数量与处理器的数量相等,使得所有子域的粒子数量大致相等。对于具有非均匀粒子密度的问题,这些子域将具有不相等的物理尺寸。每个处理器分配一个子域,最近邻子域分配给最近邻处理器。在Mark III PIC代码中使用该算法,对于代码的主要部分(推入时间,定义如下),从1个处理器到32个处理器的速度增加是29,产生90%的并行效率。虽然在超立方体并发计算机上实现,但该算法对于其他并行体系结构上的PIC代码和部分数据驻留在外部存储器中的顺序计算机也应该是有效的。
A universal concurrent algorithm for plasma particle-in-cell simulation codes
We have developed a new algorithm for implementation of plasma particle-in-cell (PIC) simulation codes on concurrent processors. This algorithm, termed the universal concurrent PIC algorithm (UC-PIC), has been utilized in a one-dimensional electrostatic PIC code on the JPL Mark III Hypercube parallel computer. To decompose the problem using the UC-PIC algorithm, the physical domain of the simulation is divided into sub-domains, equal in number to the number of processors, such that all sub-domains have roughly equal numbers of particles. For problems with non-uniform particle densities, these sub-domains will be of unequal physical size. Each processor is assigned, a sub-domain, with nearest neighbor sub-domains assigned to nearest neighbor processors. Using this algorithm in the Mark III PIC code, the increase in speed in going from 1 to 32 processors for the dominant portion of code (push time, defined below) was 29, yielding a parallel efficiency of 90%. Although implemented on a hypercube concurrent computer, this algorithm should be also be efficient for PIC codes on other parallel architectures and on sequential computers where part of the data resides in external memory.