{"title":"迈向一个时间和空间高效功能实现的蒙特卡罗光子传输代码","authors":"J. Hammes, A. Böhm","doi":"10.1109/PACT.1997.644024","DOIUrl":null,"url":null,"abstract":"In this paper we present three Sisal versions of a large Monte Carlo radiation transport code: a straightforward version, a stream version, and a stripmined loop version. We compare these versions with respect to their time and space efficiency and their parallelism. We discuss the compiler used in this project, which generates multithreaded shared memory code. We discuss the effect of strictness on program behavior. Sisal provides the fastest, purely functional, sequential code we have seen for this benchmark:, using a constant amount of space. The stream version suffers from the fact that streams have a strict implementation in the Sisal compiler, so programs using long streams are both space inefficient and can show limited parallel speedup. The stripmined version of our code uses relatively small amounts of space, and shows a speedup of only around two for four processors, as it exhibits significant reference count lock contention.","PeriodicalId":177411,"journal":{"name":"Proceedings 1997 International Conference on Parallel Architectures and Compilation Techniques","volume":"133 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1997-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Towards a time and space efficient functional implementation of a Monte Carlo photon transport code\",\"authors\":\"J. Hammes, A. Böhm\",\"doi\":\"10.1109/PACT.1997.644024\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In this paper we present three Sisal versions of a large Monte Carlo radiation transport code: a straightforward version, a stream version, and a stripmined loop version. We compare these versions with respect to their time and space efficiency and their parallelism. We discuss the compiler used in this project, which generates multithreaded shared memory code. We discuss the effect of strictness on program behavior. Sisal provides the fastest, purely functional, sequential code we have seen for this benchmark:, using a constant amount of space. The stream version suffers from the fact that streams have a strict implementation in the Sisal compiler, so programs using long streams are both space inefficient and can show limited parallel speedup. The stripmined version of our code uses relatively small amounts of space, and shows a speedup of only around two for four processors, as it exhibits significant reference count lock contention.\",\"PeriodicalId\":177411,\"journal\":{\"name\":\"Proceedings 1997 International Conference on Parallel Architectures and Compilation Techniques\",\"volume\":\"133 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1997-11-11\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings 1997 International Conference on Parallel Architectures and Compilation Techniques\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/PACT.1997.644024\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings 1997 International Conference on Parallel Architectures and Compilation Techniques","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PACT.1997.644024","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Towards a time and space efficient functional implementation of a Monte Carlo photon transport code
In this paper we present three Sisal versions of a large Monte Carlo radiation transport code: a straightforward version, a stream version, and a stripmined loop version. We compare these versions with respect to their time and space efficiency and their parallelism. We discuss the compiler used in this project, which generates multithreaded shared memory code. We discuss the effect of strictness on program behavior. Sisal provides the fastest, purely functional, sequential code we have seen for this benchmark:, using a constant amount of space. The stream version suffers from the fact that streams have a strict implementation in the Sisal compiler, so programs using long streams are both space inefficient and can show limited parallel speedup. The stripmined version of our code uses relatively small amounts of space, and shows a speedup of only around two for four processors, as it exhibits significant reference count lock contention.