intel / intel/llvm

[SYCL] DPC++ reduction library incorrect event profiling timing

Open
#2,820 14 comments 0 reactions 1 assignee Assigned to @steffenlarsen View on GitHub
confirmed
Dominant language
LLVM
Stars
1.5k
Forks
854
Avg merge
3d 17h
Merged PRs (30d)
137

Description

Test file: https://github.com/huanghua1994/HPC_Playground/blob/master/SYCL/reduction_timing.cpp
Compiler version: git commit 140c0d04b777d291956a88d59ee47f17c5f448b3
Compiler configuration: `buildbot/configure.py --cuda`
Selected device: GTX 1070, CUDA version 11.0, driver version 455.38

Problem description:
When using the DPC++ reduction library for float type add reduction, `info::event_profiling::command_{start/end}` returned incorrect timings (too small). For int type add reduction, the timings are correct.

Sample output when using `T = float`:
```shell
$ ./reduction_timing.exe 1048576 128
n = 1048576, b = 128
Runtime with reduction = 64513 ns
Runtime without reduction = 175105 ns
```

Sample output when using `T = int`:
```shell
$ ./reduction_timing.exe 1048576 128
n = 1048576, b = 128
Runtime with reduction = 2096161 ns
Runtime without reduction = 175102 ns
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.