Tensor: Query device attributes for the stream's owning GPU

Cache named GPU attributes and expose shared-memory, thread, warp and memory-pool facts. Retain the existing property API and give custom StreamInterface implementations a default attribute accessor. GpuStreamDevice overrides it using its owning device, independent of the calling thread's current device.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

4 files changed