Traverse-Research / Traverse-Research/gpu-allocator

Multithreading strategies

Open
#276 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
497
Forks
82
Avg merge
18d 17h
Merged PRs (30d)
1

Description

What's the best way to allow threads to independently allocate/deallocate resources?

Sticking Allocator in an Arc<Mutex<Allocator>> means that only one thread can allocate/deallocate a resource at a time.

Does it make sense to use a separate Allocator per thread in a thread-local? How are the underlying descriptor pools managed?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file, test, or entry point is identified; begin by tracing the Allocator and descriptor-pool ownership paths across the Vulkan, DirectX 12, and Metal backends. Compare the Arc<Mutex> approach with thread-local allocators, and treat the work as complete only once a multithreading strategy and its resource-management implications are agreed.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.