{"title":"Distributed memory implementation of elliptic partial differential equations in a dataparallel functional language","authors":"H. Kuchen, H. Stoltze, I. Dimov, A. Karaivanova","doi":"10.1109/PMMPC.1995.504352","DOIUrl":null,"url":null,"abstract":"We show that the numerical solution of partial differential equations can be elegantly and efficiently addressed in a functional language. Two statistical numerical methods are considered. We discuss why current parallel imperative languages are difficult to use and why general (expression parallel) functional languages are not efficient enough. The key point of our approach is to offer \"unique\" arrays and some operations on them which allow to handle their elements in parallel, including operations which exchange the partitions of an array between the processors. These operations constitute a deadlock-free high-level way of communication.","PeriodicalId":344246,"journal":{"name":"Programming Models for Massively Parallel Computers","volume":"20 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1995-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Programming Models for Massively Parallel Computers","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PMMPC.1995.504352","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
We show that the numerical solution of partial differential equations can be elegantly and efficiently addressed in a functional language. Two statistical numerical methods are considered. We discuss why current parallel imperative languages are difficult to use and why general (expression parallel) functional languages are not efficient enough. The key point of our approach is to offer "unique" arrays and some operations on them which allow to handle their elements in parallel, including operations which exchange the partitions of an array between the processors. These operations constitute a deadlock-free high-level way of communication.