The Experts below are selected from a list of 21 Experts worldwide ranked by ideXlab platform

Nicolas Guil - One of the best experts on this subject based on the ideXlab platform.

  • application use cases Platform Atomics
    2016
    Co-Authors: Juan Gomezluna, I J Sung, A J Lazaromunoz, W H Chung, J M Gonzalezlinares, Nicolas Guil
    Abstract:

    Abstract Platform Atomics provide memory consistency and atomicity across the heterogeneous architecture. They allow the latency compute units (CPU cores) and the throughput compute units (graphics processing unit, GPU cores) to simultaneously access the same memory locations. This chapter describes three case studies of algorithm patterns that benefit from Platform Atomics. The first case study is a task queue system in which the CPU produces tasks that are processed by the GPU. It avoids kernel relaunch and ensures load balancing. The second case study implements the breadth-first search as an example of an application that identifies dynamically the most appropriate cores (CPU or GPU) to execute a task. Thus, program execution can occasionally swap between the CPU and the GPU, depending on workload characteristics. The third case study is a data layout conversion routine that simultaneously uses the CPU and the GPU to shift elements of an array in-place. It represents a pattern of close collaboration between the CPU and the GPU to process a pool of fine-grained tasks.

  • chapter 8 application use cases Platform Atomics
    Heterogeneous System Architecture#R##N#A New Compute Platform Infrastructure, 2016
    Co-Authors: Juan Gomezluna, I J Sung, A J Lazaromunoz, W H Chung, J M Gonzalezlinares, Nicolas Guil
    Abstract:

    Platform Atomics provide memory consistency and atomicity across the heterogeneous architecture. They allow the latency compute units (CPU cores) and the throughput compute units (graphics processing unit, GPU cores) to simultaneously access the same memory locations. This chapter describes three case studies of algorithm patterns that benefit from Platform Atomics. The first case study is a task queue system in which the CPU produces tasks that are processed by the GPU. It avoids kernel relaunch and ensures load balancing. The second case study implements the breadth-first search as an example of an application that identifies dynamically the most appropriate cores (CPU or GPU) to execute a task. Thus, program execution can occasionally swap between the CPU and the GPU, depending on workload characteristics. The third case study is a data layout conversion routine that simultaneously uses the CPU and the GPU to shift elements of an array in-place. It represents a pattern of close collaboration between the CPU and the GPU to process a pool of fine-grained tasks.

I J Sung - One of the best experts on this subject based on the ideXlab platform.

  • Chapter 7 – Compiler Technology
    Heterogeneous System Architecture, 2020
    Co-Authors: W H Chung, I J Sung
    Abstract:

    In order to help programs exploit the power of systems compatible with the HSA, compilers and runtimes of high-level programming languages or domain-specific languages should target HSA for portable code generation and runtime management. In this chapter, we use C++ AMP, a parallel programming extension to C++, to show how efficient HSAIL code can be generated from a higher-level programming model. We discuss important translation techniques, such as mapping between C++ constructs and HSA features, compilation processes for GPU and CPU codes, tiling support, memory segment annotation. In addition, we explain how to access HSA-specific features such as shared virtual memory and Platform Atomics from C++, and we cover how they are mapped to HSAIL. These techniques can be useful for compiler writers interested in mapping other programming models to HSA. The implementation, Kalmar, which consists of a compiler, a set of header files, and a runtime library, is publicly accessible as an open source project.

  • application use cases Platform Atomics
    2016
    Co-Authors: Juan Gomezluna, I J Sung, A J Lazaromunoz, W H Chung, J M Gonzalezlinares, Nicolas Guil
    Abstract:

    Abstract Platform Atomics provide memory consistency and atomicity across the heterogeneous architecture. They allow the latency compute units (CPU cores) and the throughput compute units (graphics processing unit, GPU cores) to simultaneously access the same memory locations. This chapter describes three case studies of algorithm patterns that benefit from Platform Atomics. The first case study is a task queue system in which the CPU produces tasks that are processed by the GPU. It avoids kernel relaunch and ensures load balancing. The second case study implements the breadth-first search as an example of an application that identifies dynamically the most appropriate cores (CPU or GPU) to execute a task. Thus, program execution can occasionally swap between the CPU and the GPU, depending on workload characteristics. The third case study is a data layout conversion routine that simultaneously uses the CPU and the GPU to shift elements of an array in-place. It represents a pattern of close collaboration between the CPU and the GPU to process a pool of fine-grained tasks.

  • chapter 8 application use cases Platform Atomics
    Heterogeneous System Architecture#R##N#A New Compute Platform Infrastructure, 2016
    Co-Authors: Juan Gomezluna, I J Sung, A J Lazaromunoz, W H Chung, J M Gonzalezlinares, Nicolas Guil
    Abstract:

    Platform Atomics provide memory consistency and atomicity across the heterogeneous architecture. They allow the latency compute units (CPU cores) and the throughput compute units (graphics processing unit, GPU cores) to simultaneously access the same memory locations. This chapter describes three case studies of algorithm patterns that benefit from Platform Atomics. The first case study is a task queue system in which the CPU produces tasks that are processed by the GPU. It avoids kernel relaunch and ensures load balancing. The second case study implements the breadth-first search as an example of an application that identifies dynamically the most appropriate cores (CPU or GPU) to execute a task. Thus, program execution can occasionally swap between the CPU and the GPU, depending on workload characteristics. The third case study is a data layout conversion routine that simultaneously uses the CPU and the GPU to shift elements of an array in-place. It represents a pattern of close collaboration between the CPU and the GPU to process a pool of fine-grained tasks.

W H Chung - One of the best experts on this subject based on the ideXlab platform.

  • Chapter 7 – Compiler Technology
    Heterogeneous System Architecture, 2020
    Co-Authors: W H Chung, I J Sung
    Abstract:

    In order to help programs exploit the power of systems compatible with the HSA, compilers and runtimes of high-level programming languages or domain-specific languages should target HSA for portable code generation and runtime management. In this chapter, we use C++ AMP, a parallel programming extension to C++, to show how efficient HSAIL code can be generated from a higher-level programming model. We discuss important translation techniques, such as mapping between C++ constructs and HSA features, compilation processes for GPU and CPU codes, tiling support, memory segment annotation. In addition, we explain how to access HSA-specific features such as shared virtual memory and Platform Atomics from C++, and we cover how they are mapped to HSAIL. These techniques can be useful for compiler writers interested in mapping other programming models to HSA. The implementation, Kalmar, which consists of a compiler, a set of header files, and a runtime library, is publicly accessible as an open source project.

  • application use cases Platform Atomics
    2016
    Co-Authors: Juan Gomezluna, I J Sung, A J Lazaromunoz, W H Chung, J M Gonzalezlinares, Nicolas Guil
    Abstract:

    Abstract Platform Atomics provide memory consistency and atomicity across the heterogeneous architecture. They allow the latency compute units (CPU cores) and the throughput compute units (graphics processing unit, GPU cores) to simultaneously access the same memory locations. This chapter describes three case studies of algorithm patterns that benefit from Platform Atomics. The first case study is a task queue system in which the CPU produces tasks that are processed by the GPU. It avoids kernel relaunch and ensures load balancing. The second case study implements the breadth-first search as an example of an application that identifies dynamically the most appropriate cores (CPU or GPU) to execute a task. Thus, program execution can occasionally swap between the CPU and the GPU, depending on workload characteristics. The third case study is a data layout conversion routine that simultaneously uses the CPU and the GPU to shift elements of an array in-place. It represents a pattern of close collaboration between the CPU and the GPU to process a pool of fine-grained tasks.

  • chapter 8 application use cases Platform Atomics
    Heterogeneous System Architecture#R##N#A New Compute Platform Infrastructure, 2016
    Co-Authors: Juan Gomezluna, I J Sung, A J Lazaromunoz, W H Chung, J M Gonzalezlinares, Nicolas Guil
    Abstract:

    Platform Atomics provide memory consistency and atomicity across the heterogeneous architecture. They allow the latency compute units (CPU cores) and the throughput compute units (graphics processing unit, GPU cores) to simultaneously access the same memory locations. This chapter describes three case studies of algorithm patterns that benefit from Platform Atomics. The first case study is a task queue system in which the CPU produces tasks that are processed by the GPU. It avoids kernel relaunch and ensures load balancing. The second case study implements the breadth-first search as an example of an application that identifies dynamically the most appropriate cores (CPU or GPU) to execute a task. Thus, program execution can occasionally swap between the CPU and the GPU, depending on workload characteristics. The third case study is a data layout conversion routine that simultaneously uses the CPU and the GPU to shift elements of an array in-place. It represents a pattern of close collaboration between the CPU and the GPU to process a pool of fine-grained tasks.

Juan Gomezluna - One of the best experts on this subject based on the ideXlab platform.

  • application use cases Platform Atomics
    2016
    Co-Authors: Juan Gomezluna, I J Sung, A J Lazaromunoz, W H Chung, J M Gonzalezlinares, Nicolas Guil
    Abstract:

    Abstract Platform Atomics provide memory consistency and atomicity across the heterogeneous architecture. They allow the latency compute units (CPU cores) and the throughput compute units (graphics processing unit, GPU cores) to simultaneously access the same memory locations. This chapter describes three case studies of algorithm patterns that benefit from Platform Atomics. The first case study is a task queue system in which the CPU produces tasks that are processed by the GPU. It avoids kernel relaunch and ensures load balancing. The second case study implements the breadth-first search as an example of an application that identifies dynamically the most appropriate cores (CPU or GPU) to execute a task. Thus, program execution can occasionally swap between the CPU and the GPU, depending on workload characteristics. The third case study is a data layout conversion routine that simultaneously uses the CPU and the GPU to shift elements of an array in-place. It represents a pattern of close collaboration between the CPU and the GPU to process a pool of fine-grained tasks.

  • chapter 8 application use cases Platform Atomics
    Heterogeneous System Architecture#R##N#A New Compute Platform Infrastructure, 2016
    Co-Authors: Juan Gomezluna, I J Sung, A J Lazaromunoz, W H Chung, J M Gonzalezlinares, Nicolas Guil
    Abstract:

    Platform Atomics provide memory consistency and atomicity across the heterogeneous architecture. They allow the latency compute units (CPU cores) and the throughput compute units (graphics processing unit, GPU cores) to simultaneously access the same memory locations. This chapter describes three case studies of algorithm patterns that benefit from Platform Atomics. The first case study is a task queue system in which the CPU produces tasks that are processed by the GPU. It avoids kernel relaunch and ensures load balancing. The second case study implements the breadth-first search as an example of an application that identifies dynamically the most appropriate cores (CPU or GPU) to execute a task. Thus, program execution can occasionally swap between the CPU and the GPU, depending on workload characteristics. The third case study is a data layout conversion routine that simultaneously uses the CPU and the GPU to shift elements of an array in-place. It represents a pattern of close collaboration between the CPU and the GPU to process a pool of fine-grained tasks.

A J Lazaromunoz - One of the best experts on this subject based on the ideXlab platform.

  • application use cases Platform Atomics
    2016
    Co-Authors: Juan Gomezluna, I J Sung, A J Lazaromunoz, W H Chung, J M Gonzalezlinares, Nicolas Guil
    Abstract:

    Abstract Platform Atomics provide memory consistency and atomicity across the heterogeneous architecture. They allow the latency compute units (CPU cores) and the throughput compute units (graphics processing unit, GPU cores) to simultaneously access the same memory locations. This chapter describes three case studies of algorithm patterns that benefit from Platform Atomics. The first case study is a task queue system in which the CPU produces tasks that are processed by the GPU. It avoids kernel relaunch and ensures load balancing. The second case study implements the breadth-first search as an example of an application that identifies dynamically the most appropriate cores (CPU or GPU) to execute a task. Thus, program execution can occasionally swap between the CPU and the GPU, depending on workload characteristics. The third case study is a data layout conversion routine that simultaneously uses the CPU and the GPU to shift elements of an array in-place. It represents a pattern of close collaboration between the CPU and the GPU to process a pool of fine-grained tasks.

  • chapter 8 application use cases Platform Atomics
    Heterogeneous System Architecture#R##N#A New Compute Platform Infrastructure, 2016
    Co-Authors: Juan Gomezluna, I J Sung, A J Lazaromunoz, W H Chung, J M Gonzalezlinares, Nicolas Guil
    Abstract:

    Platform Atomics provide memory consistency and atomicity across the heterogeneous architecture. They allow the latency compute units (CPU cores) and the throughput compute units (graphics processing unit, GPU cores) to simultaneously access the same memory locations. This chapter describes three case studies of algorithm patterns that benefit from Platform Atomics. The first case study is a task queue system in which the CPU produces tasks that are processed by the GPU. It avoids kernel relaunch and ensures load balancing. The second case study implements the breadth-first search as an example of an application that identifies dynamically the most appropriate cores (CPU or GPU) to execute a task. Thus, program execution can occasionally swap between the CPU and the GPU, depending on workload characteristics. The third case study is a data layout conversion routine that simultaneously uses the CPU and the GPU to shift elements of an array in-place. It represents a pattern of close collaboration between the CPU and the GPU to process a pool of fine-grained tasks.