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

OpenCL: large graph support through RAM->VRAM streaming #211

Open
EgorOrachyov opened this issue Mar 11, 2023 · 2 comments
Open

OpenCL: large graph support through RAM->VRAM streaming #211

EgorOrachyov opened this issue Mar 11, 2023 · 2 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed topic:api Library API related topic:gpu OpenCL (Compute) related topic:perf Performance optimziations

Comments

@EgorOrachyov
Copy link
Contributor

EgorOrachyov commented Mar 11, 2023

Requirements:

  • Async streaming of chunks of graph from RAM into VRAM
  • Dynamic chunk size adaptation
  • Partial operations evaluation support
@EgorOrachyov EgorOrachyov added enhancement New feature or request help wanted Extra attention is needed topic:gpu OpenCL (Compute) related topic:api Library API related topic:perf Performance optimziations labels Mar 11, 2023
@EgorOrachyov EgorOrachyov added this to the Stage 4. New horizon milestone Mar 11, 2023
@gsvgit
Copy link
Member

gsvgit commented Mar 16, 2023

What do you think about SVM ? Can it be helpful in this task?

@EgorOrachyov
Copy link
Contributor Author

EgorOrachyov commented Mar 16, 2023

@gsvgit By def, shared virtual memory is a virtual address space for multiple processors, devices which can access the same address in seamles fashion.

The question is, how it is implemented for a gpu.

When and how gpu loads pages?
What happens if there not enough GPU space?
What is the maximum allocation size for a svm allocation?

Streaming solves the problem of large vram usage and overcomes limit of single allocation, which also is a limit of maximum range, which can be addressed inside a kernel.

Svm seems like a gimmick. But how it is implemented across vendors and which overhead has?

All in all, seems svm wont solve problem of large data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed topic:api Library API related topic:gpu OpenCL (Compute) related topic:perf Performance optimziations
Projects
None yet
Development

No branches or pull requests

2 participants