Device & Platform Utilities#
Functions for detecting and configuring the compute platform and device.
Platform Detection#
import genesis as gs
# Get platform before init
platform = gs.get_platform()
print(platform) # "Linux", "macOS", or "Windows"
# After init, access global
gs.init()
print(gs.platform) # Same result
Device Information#
import genesis as gs
gs.init(backend=gs.gpu)
# Get PyTorch device
device = gs.device
print(device) # cuda:0, mps:0, cpu, etc.
# Get active backend
backend = gs.backend
print(backend) # gs.cuda, gs.metal, gs.cpu, etc.
Backend Selection#
Automatic Selection#
# GPU auto-selects based on platform
gs.init(backend=gs.gpu)
# Linux -> CUDA
# macOS -> Metal
Manual Selection#
# Force specific backend
gs.init(backend=gs.cuda) # NVIDIA CUDA
gs.init(backend=gs.metal) # Apple Metal
gs.init(backend=gs.cpu) # CPU fallback
Random Seed#
import genesis as gs
# Set random seed for reproducibility
gs.init(seed=42)
# Or set later
gs.set_random_seed(42)
Global Variables#
After gs.init(), these are available:
Variable |
Type |
Description |
|---|---|---|
|
str |
Platform: “Linux”, “macOS”, “Windows” |
|
torch.device |
PyTorch device for tensors |
|
gs.backend |
Active compute backend |
|
float |
Numerical epsilon (e.g., 1e-15) |
Type Hints#
# Taichi types
gs.ti_float # Taichi float type
gs.ti_int # Taichi int type
gs.ti_vec3 # Taichi 3D vector
gs.ti_mat3 # Taichi 3x3 matrix
# PyTorch types
gs.tc_float # PyTorch float dtype
gs.tc_int # PyTorch int dtype
See Also#
Constants & Enums - Backend enums
Tensor Utilities - Tensor operations