libvc icon indicating copy to clipboard operation
libvc copied to clipboard

Improve performance

Open ghost opened this issue 8 years ago • 12 comments

I have two versions of case1, a benchmark that aims to measure dispatch launch overhead in Vulkan vs OpenCL. Currently the OpenCL version is faster (~400ms vs ~700ms) on my GTX 980. This is being investigated by NVIDIA driver devs - I could have made some big mistake but it might also be a driver issue since things are pretty beta still.

ghost avatar Mar 14 '16 23:03 ghost

Interesting.. have you tested AMD Windows Vulkan driver or Intel Vulkan Linux driver to see dispatch overhead of Vulkan vs OpenCL on this platforms?

oscarbg avatar Mar 15 '16 00:03 oscarbg

Nope I only have NVIDIA products :(

ghost avatar Mar 15 '16 00:03 ghost

I did try the 364.12 drivers and there is still a difference between OpenCL and Vulkan in this regard. This needs to be improved to make Vulkan a decent alternative. I'm still in contact with NVIDIA regarding this issue.

ghost avatar Mar 30 '16 18:03 ghost

Sorry for the delay, I haven't heard anything new from NVIDIA. I guess this project can serve as a guideline for the basics of Vulkan compute pipelines in the mean time. I really do hope they manage to improve the compute performance.

ghost avatar Apr 15 '16 00:04 ghost

Any update to this? I'm looking at the possibility of using Vulkan on a rather large project that will need both intensive compute capability as well as graphics.

Delwin9999 avatar May 12 '16 21:05 Delwin9999

I reported the issue to NVIDIA and they were active in the beginning but then they stopped responding. The benchmark OpenCL vs Vulkan shows no improvement in kernel launch overhead but rather shows OpenCL to be faster which makes this project lose its meaning until NVIDIA fixes this. Theoretically Vulkan should offer lower kernel launch overhead since you can pre-record the command buffer which is not the case in OpenCL.

ghost avatar May 12 '16 21:05 ghost

NVIDIA finally fixed this performance issue, my test case went from 800 ms down to 400 ms in Vulkan, roughly the same as OpenCL! Very good news, now I can really consider working more on this library!

ghost avatar Jan 17 '17 02:01 ghost

Well I spoke too soon, they seem to have improved OpenCL also in this regard so now it's 200-300 ms OpenCL vs. 400 - 500 ms Vulkan. They cut the time in half for both APIs with this driver update in this regard.

ghost avatar Jan 17 '17 02:01 ghost

Can share what driver (version) update are you talking about?

oscarbg avatar Jan 17 '17 14:01 oscarbg

375.26 from 367.x (can't remember exactly which)

ghost avatar Jan 17 '17 15:01 ghost

Hi! thank you for your project. I have some problem:

  1. Need to replace:https://github.com/uNetworking/libvc/blob/347a431008b58840792df65ce7167334bd3f9b94/src/main.cpp#L21 to Program program(device, "shaders/comp.spv", {BUFFER});
  2. I have crash on Intel HD 630: https://github.com/uNetworking/libvc/blob/347a431008b58840792df65ce7167334bd3f9b94/src/program.cpp#L55,

Andreyogld3d avatar May 28 '19 12:05 Andreyogld3d

@alexhultman - - @ [](url)

vanteew29 avatar Oct 09 '19 21:10 vanteew29