Open-source Scientific Applications and Benchmarks

Zheming Jin

Zheming Jin

Darien, Illinois

3 0
  • 0 Collaborators

This repository contains a collection of data-parallel programs for evaluating oneAPI direct programming. Each program is written with CUDA, SYCL, and OpenMP target offloading. Intel® DPC++ Compatibility Tool (DPCT) can convert a CUDA program to a SYCL program ...learn more

Project status: Under Development

oneAPI, HPC

Intel Technologies
oneAPI, DPC++, Intel Integrated Graphics, DevCloud

Code Samples [1]Links [5]

Overview / Usage

This repository contains a collection of data-parallel programs for evaluating oneAPI direct programming. Each program is written with CUDA, SYCL, and OpenMP target offloading. Intel® DPC++ Compatibility Tool (DPCT) can convert a CUDA program to a SYCL program in which memory management migration is implemented using the explicit and restricted Unified Shared Memory extension (DPCT usm) or the DPCT header files (DPCT header) .

Methodology / Approach

Experiments

We compare the performance of the SYCL, DPCT-generated, and OpenMP implementations of each program. The performance results below were obtained with the Intel OpenCL intercept layer. "total enqueue" indicates the total number of low-level OpenCL enqueue commands called by a parallel program. These enqueue commands include "clEnqueueNDRangeKernel", "clEnqueueReadBuffer", and "clEnqueueWriteBuffer". The host timing is the total elapsed time of executing OpenCL API functions on a CPU host while the device timing is the total elapsed time of executing OpenCL API functions on a GPU device. The Plugin Interface is OpenCL. The performance is not optimized and are initial numbers, and developers are welcome to use this code as starting point for their problems or optimise these codes and contribute back to this repository

Run

A script "run.sh" attempts to run all tests with the OpenCL plugin interface. To run a single test, go to a test directory and type the command "make run".

Technologies Used

Setup

Software: Intel® oneAPI Beta08 Toolkit, Ubuntu 18.04 Platform 1: Intel® Xeon E3-1284L with a Gen8 P6300 integrated GPU Platform 2: Intel® Xeon E-2176G with a Gen9.5 UHD630 integrated GPU

Repository

https://github.com/zjin-lcf/oneAPI-DirectProgramming

Comments (0)