From 9928ac8f60f7aeb374b5c088d4a3548fc730886a Mon Sep 17 00:00:00 2001 From: Mohammad Issa Date: Fri, 26 Apr 2024 03:36:10 +0300 Subject: [PATCH] add project sections and publication sections --- docs/assets/landscape-placeholder.svg | 5 + docs/index.md | 279 ++++++++++++++++++++++---- 2 files changed, 243 insertions(+), 41 deletions(-) create mode 100644 docs/assets/landscape-placeholder.svg diff --git a/docs/assets/landscape-placeholder.svg b/docs/assets/landscape-placeholder.svg new file mode 100644 index 0000000..faea08c --- /dev/null +++ b/docs/assets/landscape-placeholder.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index f368657..9ff8d36 100644 --- a/docs/index.md +++ b/docs/index.md @@ -60,10 +60,14 @@ toc: false .logo-beyondmore { font-family: var(--serif); -display: flex; -gap: 5%; - align-items: center; - justify-items: center; + display: flex; + gap: 5%; + align-items: center; + justify-items: center; +} + +a { + color: rgb(15 118 110) !important; } @@ -366,73 +370,266 @@ gap: 5%;

Pioneering the Future of Post-Moore Computing

-
-
- BeyondMoore addresses the timely research challenge of solving the software side of the - Post Moore crisis. The techno-economical model in computing, known as the Moore’s Law, has led to an - exceptionally productive era for humanity and numerous scientific discoveries over the past 50+ years. However, - due to the fundamental limits in chip manufacturing we are about to mark the end of Moore’s Law and enter a new - era of computing where continued performance improvement will likely emerge from extreme heterogeneity. The new - systems are expected to bring a diverse set of hardware accelerators and memory technologies. +
+
+ BeyondMoore addresses the timely research challenge of solving the software side of the Post Moore crisis, as + Moore's Law reaches its limits in chip manufacturing. This transition requires a shift towards extreme heterogeneity + in computing systems. Current programming solutions are host-centric, leading to scalability issues and limited + parallelism. BeyondMoore proposes an autonomous execution model where accelerators operate independently, + facilitated by a task graph programming abstraction. To efficiently execute this task graph, BeyondMoore develops a + software framework that performs static and dynamic optimizations, issues accelerator-initiated data transfers along + with supporting tools such as compiler and profiler. Below you can find details of projects comprising BeyondMoore’s + software ecosystem. + + + +
+
+ + +
+ +
+ Team +
+ +
+ +
+ +
+ +

+ Head of The Lab: Assoc. Prof. Didem rnat (dunat@ku.edu.tr) +

+
+ +
+ +

+ PostDoc: Dr. Muhammad Aditya Sasongko (msasongko@ku.edu.tr) +
+ Research Focus: Performance Models, Profiling Tools +

+
+ +
+ +

+ PhD Student: Ilyas Turimbetov (iturimbetov18@ku.edu.tr) +
+ Research Focus: Quantum Computing, Digital Annealers, Quantum Algorithms. +

+
+ + +
+ +

+ PhD Student: Javid Baydamirli (jbaydamirli21@ku.edu.tr) +
+ Research Focus: Taming heterogeneity, programming models +

+
+ +
+ +

+ PhD Student: Doǧan Sağbili (dsagbili17@ku.edu.tr) +
+ Research Focus: Novel Programming models for emerging architectures. +

+
+ +
+ +

+ PhD Student: Mohammad Kefah Taha Issa (missa18@ku.edu.tr) +
+ Research Focus: Peer to peer GPU tracing and profiling. +

+
+ +
+ +

+ Project Adminsitrative Assistant: Sinemis Temel (stemel@ku.edu.tr) +

+
+ +
+ +

+ Previous Member: Ismayil Ismayilov +
+ Research Focus: Taming heterogeneity, programming models +

-
- BeyondMoore has an ambitious goal to develop a software framework that performs static - and dynamic optimizations, issues accelerator-initiated data transfers, and reasons about parallel execution - strategies that exploit both processor and memory heterogeneity. + +
+ +

+ Previous Member: Muhammad Abdullah Soyturk +

+
+
+
- Project Repositories +BeyondMoore Software Ecosystem

+ +
+ +
+ +**_Compiler, Runtime and Execution Models_** + +* [CPU-Free Execution Model](#CPU-FREE-MODEL): a fully autonomous execution model for multi-GPU applications +* [Multi-GPU Callbacks](#MULTI-GPU-CALLBACKS): GPU to CPU callback mechanisms +* [CPU-Free Task Graph](#CPU-FREE-TASK-GRAPH): a lightweight runtime system tailored for CPU-free task graph execution +* [CPU-Free Compiler](#CPU-FREE-MODEL-COMPILER): compiler for generating CPU-Free multi-GPU code +* [Unified Communication Library](#UNICOM): a unified communication library for device-to-device communication + +
+ +
+ +**_Profiling Tools_** +* [Snoopie](#SNOOPIE): A Multi-GPU Communication Profiler and Visualiser +* [PES AMD vs Intel](#PRECISE-EVENT-SAMPLING): A Precise Event Sampling Benchmark Suite + +
+ +
+
-
- - CPU Free Model -

This project introduces a fully autonomous execution model for multi-GPU applications, eliminating CPU involvement beyond initial kernel launch. In conventional setups, the CPU orchestrates execution, causing overhead. We propose delegating this control flow entirely to devices, leveraging techniques like persistent kernels and device-initiated communication. Our CPU-free model significantly reduces communication overhead. Demonstrations on 2D/3D Jacobi stencil and Conjugate Gradient solvers show up to a 58.8% improvement in communication latency and a 1.63x speedup for CG on 8 NVIDIA A100 GPUs compared to CPU-controlled baselines.

- +
+
+ +

This project introduces a fully autonomous execution model for multi-GPU applications, eliminating CPU involvement beyond initial kernel launch. In conventional setups, the CPU orchestrates execution, causing overhead. We propose delegating this control flow entirely to devices, leveraging techniques like persistent kernels and device-initiated communication. Our CPU-free model significantly reduces communication overhead. Demonstrations on 2D/3D Jacobi stencil and Conjugate Gradient solvers show up to a 58.8% improvement in communication latency and a 1.63x speedup for CG on 8 NVIDIA A100 GPUs compared to CPU-controlled baselines.

+
+
+ +
-
- - Snoopie -

With data movement posing a significant bottleneck in computing, profiling tools are essential for scaling multi-GPU applications efficiently. However, existing tools focus primarily on single GPU compute operations and lack support for monitoring GPU-GPU transfers and communication library calls. Addressing these gaps, we present Snoopie, an instrumentation-based multi-GPU communication profiling tool. Snoopie accurately tracks peer-to-peer transfers and GPU-centric communication library calls, attributing data movement to specific source code lines and objects. It offers various visualization modes, from system-wide overviews to detailed instructions and addresses, enhancing programmer productivity.

- +
+
+
+ + Snoopie +
+

With data movement posing a significant bottleneck in computing, profiling tools are essential for scaling multi-GPU applications efficiently. However, existing tools focus primarily on single GPU compute operations and lack support for monitoring GPU-GPU transfers and communication library calls. Addressing these gaps, we present Snoopie, an instrumentation-based multi-GPU communication profiling tool. Snoopie accurately tracks peer-to-peer transfers and GPU-centric communication library calls, attributing data movement to specific source code lines and objects. It offers various visualization modes, from system-wide overviews to detailed instructions and addresses, enhancing programmer productivity.

+
+
+ +
-
- - Multi-GPU Callbacks -

To address resource underutilization in multi-GPU systems, particularly in irregular applications, we propose a GPU-sided resource allocation method. This method dynamically adjusts the number of GPUs in use based on workload changes, utilizing GPU-to-CPU callbacks to request additional devices during kernel execution. We implemented and tested multiple callback methods, measuring their overheads on Nvidia and AMD platforms. Demonstrating the approach in an irregular application like Breadth-First Search (BFS), we achieved a 15.7% reduction in time to solution on average, with callback overheads as low as 6.50 microseconds on AMD and 4.83 microseconds on Nvidia. Additionally, the model can reduce total device usage by up to 35%, improving energy efficiency.

- +
+
+ +

To address resource underutilization in multi-GPU systems, particularly in irregular applications, we propose a GPU-sided resource allocation method. This method dynamically adjusts the number of GPUs in use based on workload changes, utilizing GPU-to-CPU callbacks to request additional devices during kernel execution. We implemented and tested multiple callback methods, measuring their overheads on Nvidia and AMD platforms. Demonstrating the approach in an irregular application like Breadth-First Search (BFS), we achieved a 15.7% reduction in time to solution on average, with callback overheads as low as 6.50 microseconds on AMD and 4.83 microseconds on Nvidia. Additionally, the model can reduce total device usage by up to 35%, improving energy efficiency.

+
+
+ +
-
+ + +
+
+
- Benchmarks -

We're undertaking the design of an API for a unified communication library to streamline device-to-device communication within the CPU-free model by aiming to optimize communication efficiency across diverse devices. More details about the project will be available soon. The related paper is under preparation.

+ Unified Communication Library +
+

We're undertaking the design of an API for a unified communication library to streamline device-to-device communication within the CPU-free model by aiming to optimize communication efficiency across diverse devices. More details about the project will be available soon. The related paper is under preparation.

+
+
+ +
+
+
+ +

We're actively crafting a compiler to empower developers to write high-level Python code that compiles into efficient CPU-free device code. This compiler integrates GPU-initiated communication libraries, NVSHMEM for NVIDIA and ROC_SHMEM for AMD, enabling GPU communication directly within Python code. With automatic generation of GPU-initiated communication calls and persistent kernels, we aim to streamline development workflows. Our prototype will be available soon.

+
+
+ +
+
-
+
+
+
- CPU Free Infused Dace -

We're actively crafting a compiler to empower developers to write high-level Python code that compiles into efficient CPU-free device code. This compiler integrates GPU-initiated communication libraries, NVSHMEM for NVIDIA and ROC_SHMEM for AMD, enabling GPU communication directly within Python code. With automatic generation of GPU-initiated communication calls and persistent kernels, we aim to streamline development workflows. Our prototype will be available soon.

+ CPU-Free Task Graph +
+

We've designed and implemented a lightweight runtime system tailored for CPU-free task graph + execution in multi-device systems. Our runtime minimizes CPU involvement by handling task graph initialization + exclusively, while executing all subsequent operations on the GPU side. This runtime system provides online + scheduling of graph nodes, monitors GPU resource usage, manages memory allocation and data transfers, and + synchronously tracks task dependencies. By accepting computational graphs as input, originally designed for single + GPUs, it seamlessly scales to multiple GPUs without necessitating code modifications. More details about the + project will be available soon. The related paper is under review.

+
+
+ +
-
+
+
+
- Ilya's CUDA Graph -

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.

+ Percise Event Sampling +
+

+ To Be Added +

+
+
+ +
+
+ +
+
+Publications +
+
+
+
Ilyas Turimbetov, MA Sasongko, and Didem Unat, GPU-Initiated Resource Allocation for Irregular Workloads, International Workshop on Extreme Heterogeneity Solutions (ExHET), 2024
+
I Ismayilov, J Baydamirli, D Sagbili, M Wahib, D Unat, Multi-GPU Communication Schemes for Iterative Solvers: When CPUs are Not in Charge, ICS ’23: Proceedings of the 37th International Conference on Supercomputing, 192–202.
+
MA Sasongko, M Chabbi, PHJ Kelly, D Unat, Precise Event Sampling on AMD vs Intel: Quantitative and Qualitative Comparison, IEEE Transactions on Parallel and Distributed Systems, vol. 34, no. 5, pp. 1594-1608, May 2023, doi: 10.1109/TPDS.2023.3257105.
+
Issa, M., Sasongko, M., Turimbetov, I., Baydamirli, J., Sağbili, D., Unat, D. (2024). Snoopie: A Multi-GPU Communication Profiler and Visualizer. In Proceedings of the 38th International Conference on Supercomputing.
+
+ + +