{"title":"从GPU到CPU(以及其他):通过sycl启发的接口扩展GPUSPH中的硬件支持","authors":"Giuseppe Bilotta","doi":"10.1002/cpe.8313","DOIUrl":null,"url":null,"abstract":"<p>While most software is originally designed for serial or parallel execution on CPU, and porting to GPU comes later in its development, GPUSPH was designed from the ground up to run on GPUs using CUDA. Making it accessible to a wider audience by introducing support for other computational hardware, and in particular CPUs, poses challenges that are complementary to the ones normally faced when porting CPU code to GPU. We present the approach we have adopted to support CPUs as computational devices in GPUSPH with minimal code changes and low developer effort. Detailed benchmarks illustrating the performance of the implementation and its scalability across multiple cores in both single-socket and NUMA configurations show good strong and weak scaling.</p>","PeriodicalId":55214,"journal":{"name":"Concurrency and Computation-Practice & Experience","volume":"37 1","pages":""},"PeriodicalIF":1.5000,"publicationDate":"2024-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/cpe.8313","citationCount":"0","resultStr":"{\"title\":\"From GPU to CPU (and Beyond): Extending Hardware Support in GPUSPH Through a SYCL-Inspired Interface\",\"authors\":\"Giuseppe Bilotta\",\"doi\":\"10.1002/cpe.8313\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<p>While most software is originally designed for serial or parallel execution on CPU, and porting to GPU comes later in its development, GPUSPH was designed from the ground up to run on GPUs using CUDA. Making it accessible to a wider audience by introducing support for other computational hardware, and in particular CPUs, poses challenges that are complementary to the ones normally faced when porting CPU code to GPU. We present the approach we have adopted to support CPUs as computational devices in GPUSPH with minimal code changes and low developer effort. Detailed benchmarks illustrating the performance of the implementation and its scalability across multiple cores in both single-socket and NUMA configurations show good strong and weak scaling.</p>\",\"PeriodicalId\":55214,\"journal\":{\"name\":\"Concurrency and Computation-Practice & Experience\",\"volume\":\"37 1\",\"pages\":\"\"},\"PeriodicalIF\":1.5000,\"publicationDate\":\"2024-10-28\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://onlinelibrary.wiley.com/doi/epdf/10.1002/cpe.8313\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Concurrency and Computation-Practice & Experience\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://onlinelibrary.wiley.com/doi/10.1002/cpe.8313\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Concurrency and Computation-Practice & Experience","FirstCategoryId":"94","ListUrlMain":"https://onlinelibrary.wiley.com/doi/10.1002/cpe.8313","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
From GPU to CPU (and Beyond): Extending Hardware Support in GPUSPH Through a SYCL-Inspired Interface
While most software is originally designed for serial or parallel execution on CPU, and porting to GPU comes later in its development, GPUSPH was designed from the ground up to run on GPUs using CUDA. Making it accessible to a wider audience by introducing support for other computational hardware, and in particular CPUs, poses challenges that are complementary to the ones normally faced when porting CPU code to GPU. We present the approach we have adopted to support CPUs as computational devices in GPUSPH with minimal code changes and low developer effort. Detailed benchmarks illustrating the performance of the implementation and its scalability across multiple cores in both single-socket and NUMA configurations show good strong and weak scaling.
期刊介绍:
Concurrency and Computation: Practice and Experience (CCPE) publishes high-quality, original research papers, and authoritative research review papers, in the overlapping fields of:
Parallel and distributed computing;
High-performance computing;
Computational and data science;
Artificial intelligence and machine learning;
Big data applications, algorithms, and systems;
Network science;
Ontologies and semantics;
Security and privacy;
Cloud/edge/fog computing;
Green computing; and
Quantum computing.