NVlabs / nvbitfi

Architecture-level Fault Injection Tool for GPU Application Resilience Evaluation
Other
55 stars 22 forks source link

how to modify a specific register location in the register file regardless the executed thread or block? #17

Closed divadnauj-GB closed 2 years ago

divadnauj-GB commented 2 years ago

dear authors,

I am trying to inject faults (permanent) into registers of an SM in the GPU. However, I could not find a way to guarantee the injected fault in the same hardware location of the SM regardless of the executed thread-block. Is there a way to access (read/write) any location of the register file in the GPU using the available functions of NVBIT or nvbitfi without the dependence of the executed application?

I appreciate any suggestion or help about it.

Juan David

sivahari commented 2 years ago

We provide one way to model permanent faults (as an experimental feature) here: https://github.com/NVlabs/nvbitfi/blob/master/pf_injector/inject_funcs.cu. This model injects in an instruction (opcode) whenever it executes in a hardware lane regardless of the executed thread or block. You can modify it to target a specific register here: https://github.com/NVlabs/nvbitfi/blob/master/pf_injector/inject_funcs.cu#L44. You may also want to change which instructions your want to target here: https://github.com/NVlabs/nvbitfi/blob/master/pf_injector/pf_injector.cu#L203.

Siva