voxcity.simulator_gpu.init_taichi ================================= .. py:module:: voxcity.simulator_gpu.init_taichi .. autoapi-nested-parse:: Taichi initialization for simulator_gpu. This module provides centralized Taichi initialization to ensure ti.init() is called before any Taichi fields or kernels are used. Attributes ---------- .. autoapisummary:: voxcity.simulator_gpu.init_taichi.taichi Functions --------- .. autoapisummary:: voxcity.simulator_gpu.init_taichi.init_taichi voxcity.simulator_gpu.init_taichi.ensure_initialized voxcity.simulator_gpu.init_taichi.is_initialized voxcity.simulator_gpu.init_taichi.reset Module Contents --------------- .. py:function:: init_taichi(arch: Optional[str] = None, default_fp: type = ti.f32, default_ip: type = ti.i32, debug: bool = False, suppress_fp16_warnings: bool = True, honor_env: bool = True, **kwargs) -> bool Initialize Taichi runtime if not already initialized. This function is idempotent - calling it multiple times is safe. The first call will initialize Taichi, subsequent calls will be no-ops. :param arch: Architecture to use. Options: - None (default): Auto-detect best available (GPU preferred) - 'gpu': Use GPU (CUDA, Vulkan, Metal, etc.) - 'cuda': Use CUDA specifically - 'vulkan': Use Vulkan - 'metal': Use Metal (macOS) - 'cpu': Use CPU :param default_fp: Default floating point type (ti.f32 or ti.f64) :param default_ip: Default integer type (ti.i32 or ti.i64) :param debug: Enable debug mode for better error messages :param suppress_fp16_warnings: Suppress Taichi's fp16 precision loss warnings (default: True). These warnings occur when using fp16 intermediate buffers for memory bandwidth optimization. :param \*\*kwargs: Additional arguments passed to ti.init() :returns: True if initialization was performed, False if already initialized. .. py:function:: ensure_initialized() Ensure Taichi is initialized with default settings. This is a convenience function for lazy initialization. Call this before any Taichi operations if you're not sure whether init_taichi() has been called. .. py:function:: is_initialized() -> bool Check if Taichi has been initialized. .. py:function:: reset() Reset initialization state. Note: This does NOT reset Taichi itself (which cannot be reset once initialized). This only resets the tracking flag for testing purposes. .. py:data:: taichi