Volatile Loads/Stores
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 30/100
Direção de pesquisa
Comece pela chamada a intrinsics::volatile_store relatada em core/src/ptr/mod.rs e rastreie como o Rust-GPU reduz loads e stores voláteis para SPIR-V. Compare esse caminho com os SPIR-V Memory Operands mencionados na issue; considera-se concluído quando as operações voláteis solicitadas forem compatíveis sem o erro relatado MemFlags(VOLATILE).
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
I'm trying to use volatile loads and stores like so:
#[inline(always)]
pub fn get_item(&self, offset: u32) -> T {
unsafe {
let ptr = self
.items
.get_unchecked(((self.start_ticket + offset) % self.max_capacity) as usize);
core::ptr::read_volatile(ptr)
}
}
#[inline(always)]
pub fn set_item(&mut self, offset: u32, item: T) {
unsafe {
let ptr = self
.items
.get_unchecked_mut(((self.start_ticket + offset) % self.max_capacity) as usize);
core::ptr::write_volatile(ptr, item);
}
}
But when compiling I get an error saying this is not supported yet.
error: store_with_flags is not supported yet: MemFlags(VOLATILE)
--> /home/peyton/.rustup/toolchains/nightly-2025-06-30-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:2180:9
|
2180 | intrinsics::volatile_store(dst, src);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It would be very useful to be able to specify this in loads. It seems like its possible in SPIRV using Memory Operands is there any way to do this currently?
System Info
- SPIR-V: SPIRV-Tools v2025.4 v2025.4-0-g7f2d9ee9
Targets:
SPIR-V 1.0
SPIR-V 1.1
SPIR-V 1.2
SPIR-V 1.3
SPIR-V 1.4
SPIR-V 1.5
SPIR-V 1.6
SPIR-V 1.2 (under OpenCL 2.2 Full Profile semantics)
SPIR-V 1.0 (under Vulkan 1.0 semantics)
SPIR-V 1.3 (under Vulkan 1.1 semantics)
SPIR-V 1.4 (under Vulkan 1.1 semantics)
SPIR-V 1.5 (under Vulkan 1.2 semantics)
SPIR-V 1.6 (under Vulkan 1.3 semantics) SPIR-V 1.6 (under Vulkan 1.4 semantics)
- Linguagem predominante
- Rust
- Estrelas
- 3.4k
- Forks
- 132
- Merge médio
- 21h 41min
- PRs com merge (30d)
- 17
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Rust-GPU/rust-gpu
-
enhancement
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 68/100
Rust-GPU/rust-gpu#209 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
Rust-GPU/rust-gpu#659 · 8 comentários ·
Mantenedores costumam responder em até 1 dia
-
Adhere to Rust floating-point semanticsTalvez livre de novo @Firestar99 assumiu há 30 dias e não há nenhum pull request aberto. Abertaenhancement
Rust-GPU/rust-gpu#643 · 6 comentários · 1 reação · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
Rust-GPU/rust-gpu#608 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
Rust-GPU/rust-gpu#606 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de Rust-GPU/rust-gpu
Issues semelhantes
-
agent:iq3-xxs area: cli duplication enhancement priority: P3 ready-for-agent
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
bytecodealliance/rustix#1703 ·
Mantenedores costumam responder em até 3 dias
-
bug discussion
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
medialab/xan#1201 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
farion1231/cc-switch#8298 ·
Mantenedores costumam responder em até 1 dia