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.
{"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":"https://doi.org/10.1002/cpe.8313","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.5,"publicationDate":"2024-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/cpe.8313","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142869174","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Barry Linnert, Cesar Augusto F. De Rose, Hans-Ulrich Heiss
As high-performance computing (HPC) becomes a tool used in many different workflows, quality of service (QoS) becomes increasingly important. In many cases, this includes the reliable execution of an HPC job and the generation of the results by a certain deadline. The resource and job management system (RJMS) or simply RMS is responsible for receiving the job requests and executing the jobs with a deadline-oriented policy to support the workflows. In this article, we evaluate how well static resource management policies cope with deadline-constrained HPC jobs and explore two variations of a dynamic policy in this context. As the Hilbert curve-based approach used by the SLURM workload manager represents the state-of-the-art in production environments, it was selected as one of the static allocation strategies. The Manhattan median approach as a second allocation strategy was introduced as a research work that aims to minimize the communication overhead of the parallel programs by providing compact partitions more than the Hilbert curve approach. In contrast to the static partitions provided by the Hilbert curve approach and the Manhattan median approach, the leak approach focuses on supporting dynamic runtime behavior of the jobs and assigning nodes of the HPC system on demand at runtime. Since the contiguous leak version also relies on a compact set of nodes, the noncontiguous leak can provide additional nodes at a greater distance from the nodes already used by the job. Our preliminary results clearly show that a dynamic policy is needed to meet the requirements of a modern deadline-oriented RMS scenario.
{"title":"Toward a Dynamic Allocation Strategy for Deadline-Oriented Resource and Job Management in HPC Systems","authors":"Barry Linnert, Cesar Augusto F. De Rose, Hans-Ulrich Heiss","doi":"10.1002/cpe.8310","DOIUrl":"https://doi.org/10.1002/cpe.8310","url":null,"abstract":"<p>As high-performance computing (HPC) becomes a tool used in many different workflows, quality of service (QoS) becomes increasingly important. In many cases, this includes the reliable execution of an HPC job and the generation of the results by a certain deadline. The resource and job management system (RJMS) or simply RMS is responsible for receiving the job requests and executing the jobs with a deadline-oriented policy to support the workflows. In this article, we evaluate how well static resource management policies cope with deadline-constrained HPC jobs and explore two variations of a dynamic policy in this context. As the Hilbert curve-based approach used by the SLURM workload manager represents the state-of-the-art in production environments, it was selected as one of the static allocation strategies. The Manhattan median approach as a second allocation strategy was introduced as a research work that aims to minimize the communication overhead of the parallel programs by providing compact partitions more than the Hilbert curve approach. In contrast to the static partitions provided by the Hilbert curve approach and the Manhattan median approach, the leak approach focuses on supporting dynamic runtime behavior of the jobs and assigning nodes of the HPC system on demand at runtime. Since the contiguous leak version also relies on a compact set of nodes, the noncontiguous leak can provide additional nodes at a greater distance from the nodes already used by the job. Our preliminary results clearly show that a dynamic policy is needed to meet the requirements of a modern deadline-oriented RMS scenario.</p>","PeriodicalId":55214,"journal":{"name":"Concurrency and Computation-Practice & Experience","volume":"37 1","pages":""},"PeriodicalIF":1.5,"publicationDate":"2024-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/cpe.8310","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142869081","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}