fabric.try_put GPU Virtual ISA NVIDIA
fabric.try_put Fabric Instructions
fabric.try_put.async{.multimem}.src.completion_mechanism0.sem.scope.b128 [dstLeId, dstDataOff], [src], size, [bar];
Asynchronously copies size bytes from [src] to destination fabric handle [dstLeId, dstDataOff], where dstLeId is a 32-bit unsigned value denoting the logical endpoint identifier, and dstDataOff is a…
Encoding
PTX is a virtual instruction set. It has no single, stable native
binary encoding - the compiler lowers this instruction to different native machine
code depending on the selected NVIDIA target architecture (compute capability).
This page intentionally shows no bit-diagram; see the target/version requirements
below for what governs how this instruction compiles.
Syntax Forms
One mnemonic covers many type / state-space / scope / modifier combinations - each row below is an independently valid form.
| Syntax | Data Types | State Space(s) | Modifiers | Min. Target | Description |
|---|---|---|---|---|---|
| fabric.try_put.async{.multimem}.src.completion_mechanism0.sem.scope.b128 [dstLeId, dstDataOff], [src], size, [bar]; | sm_100 | Asynchronously copies size bytes from [src] to destination fabric handle [dstLeId, dstDataOff], where dstLeId is a 32-bit unsigned value denoting the logical endpoint identifier, and dstDataOff is a 6 (see the official PTX ISA docs for the full description) |
Operands
At a Glance
Related
More in Fabric Instructions
Reference
NVIDIA PTX ISA
Description
Asynchronously copies size bytes from [src] to destination fabric handle [dstLeId, dstDataOff], where dstLeId is a 32-bit unsigned value denoting the logical
endpoint identifier, and dstDataOff is a 64-bit unsigned value denoting the base offset of
the resource to access within the logical endpoint associated with dstLeId.
The size operand is 32 bits and specifies the number of bytes to be copied. It must be a
multiple of 16; otherwise, the behavior is undefined. The range [src, src + size - 1] must
be in bounds of the source memory space. (see the official PTX ISA docs for the full description)
Examples
fabric.try_put.async.shared::cta.mbarrier::complete_tx::16B.mbarrier::report::fabric.relaxed.sys.b128 [dstLeId, dstLeOffData], [srcSmem], 0x100, [mbar];
fabric.try_put.async.counted::bytes.shared::cta.mbarrier::complete_tx::16B.mbarrier::report::fabric.relaxed.sys.b128 [dstLeId, dstLeOffData, dstLeOffCntr], [srcSmem], size, [mbar];Reproduced from NVIDIA's official PTX ISA documentation for technical accuracy.
Sources
- Parallel Thread Execution ISA ↗ - NVIDIA Corporation, Chapter 9 - Instruction Set