Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve performance #2

Open
ghost opened this issue Mar 14, 2016 · 12 comments
Open

Improve performance #2

ghost opened this issue Mar 14, 2016 · 12 comments

Comments

@ghost
Copy link

ghost commented Mar 14, 2016

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.

@oscarbg
Copy link

oscarbg commented Mar 15, 2016

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

@ghost
Copy link
Author

ghost commented Mar 15, 2016

Nope I only have NVIDIA products :(

@ghost
Copy link
Author

ghost commented Mar 30, 2016

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
Copy link
Author

ghost commented Apr 15, 2016

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.

@Delwin9999
Copy link

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.

@ghost
Copy link
Author

ghost commented May 12, 2016

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 ghost closed this as completed Jun 4, 2016
@ghost
Copy link
Author

ghost commented Jan 17, 2017

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
Copy link
Author

ghost commented Jan 17, 2017

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 ghost reopened this Jan 17, 2017
@oscarbg
Copy link

oscarbg commented Jan 17, 2017

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

@ghost
Copy link
Author

ghost commented Jan 17, 2017

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

@Andreyogld3d
Copy link

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

  1. Need to replace:
    Program program(device, "/home/alexhultman/libvc/shaders/comp.spv", {BUFFER});

    to
    Program program(device, "shaders/comp.spv", {BUFFER});
  2. I have crash on Intel HD 630:
    if (VK_SUCCESS != vkCreateComputePipelines(this->device, VK_NULL_HANDLE, 1, &pipelineInfo, nullptr, &pipeline)) {
    ,

@vanteew29
Copy link

@alexhultman - - @ [](url)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants