arraybridge

Getting Started

  • Installation
    • Requirements
    • Basic Installation
    • Framework-Specific Installation
      • PyTorch Support
      • CuPy Support
      • TensorFlow Support
      • JAX Support
      • pyclesperanto Support
      • All Frameworks
    • Development Installation
      • Documentation Building
    • Verifying Installation
    • GPU Setup
      • CUDA Installation
      • PyTorch CUDA
    • Troubleshooting
      • Common Issues
      • Getting Help
    • Next Steps
  • Quick Start Guide
    • Installation
      • Basic Installation
      • With Framework Support
    • Basic Usage
      • Memory Type Detection
      • Memory Conversion
      • Using Decorators
    • Common Patterns
      • Pattern 1: Detect and Convert
      • Pattern 2: Framework-Agnostic Processing
      • Pattern 3: OOM Recovery
      • Pattern 4: Stack Processing
    • GPU Processing
      • Moving Data to GPU
      • Multi-GPU Processing
    • Error Handling
      • Basic Error Handling
      • Automatic OOM Recovery
    • Performance Tips
    • Next Steps

User Documentation

  • User Guide
    • Overview
    • Key Concepts
      • Memory Types
      • Conversion Strategies
    • Core Functionality
      • Memory Type Detection
      • Memory Conversion
      • Automatic Type Detection
    • Working with Decorators
      • Basic Decorator Usage
      • Memory Type Decorators
      • Multi-Argument Functions
      • Generic Memory Type Decorator
    • GPU Management
      • Device Selection
      • Multi-GPU Processing
      • CPU-GPU Data Movement
    • Stack Utilities
      • Processing 2D Slices
      • Unstacking Volumes
      • GPU Stack Processing
    • Data Type Handling
      • Dtype Preservation
      • Dtype Conversion
    • Framework-Specific Features
      • PyTorch Integration
      • CuPy Integration
      • JAX Integration
    • Error Handling
      • Basic Error Handling
      • Framework Not Available
      • Out of Memory Errors
    • Best Practices
    • Common Patterns
      • Pattern: Framework-Agnostic Function
      • Pattern: Batched GPU Processing
      • Pattern: Cross-Framework Pipeline
    • Next Steps
  • Conversion System
    • Overview
    • Core Functions
      • detect_memory_type
      • convert_memory
    • Conversion Strategies
      • DLPack (Zero-Copy)
      • NumPy Bridge
      • Framework-Specific Conversions
    • Device Management
      • GPU Device Selection
      • CPU Operations
      • Cross-Device Transfers
    • Dtype Handling
      • Dtype Preservation
      • Dtype Mapping
    • Conversion Performance
      • Benchmarks
      • Optimization Tips
    • Error Handling
      • Common Errors
      • Recovery Strategies
    • Advanced Topics
      • Custom Memory Types
      • Thread Safety
      • Memory Management
    • Conversion Matrix
    • API Reference
    • Next Steps
  • Decorator System
    • Overview
    • Available Decorators
      • Framework-Specific Decorators
      • Generic Decorator
    • Basic Usage
      • Simple Decorator
      • Specifying Input/Output Types
      • GPU Device Selection
    • Decorator Parameters
      • Common Parameters
      • Example with All Parameters
    • Multi-Argument Functions
      • Automatic Conversion of All Arguments
      • Mixed Argument Types
      • Keyword Arguments
    • Framework-Specific Decorators
      • @numpy
      • @cupy
      • @torch
      • @tensorflow
      • @jax
      • @memory_types (Generic)
    • Advanced Features
      • OOM Recovery
      • Chaining Decorators
      • Return Value Handling
      • Class Methods
    • Performance Considerations
      • Decorator Overhead
      • Optimization Tips
    • Common Patterns
      • Pattern: Clean Public API
      • Pattern: Multi-GPU Processing
      • Pattern: Framework Abstraction
    • Error Handling
      • Decorator Error Handling
      • Fallback Logic
    • Testing with Decorators
      • Unit Testing
      • Mocking
    • API Reference
    • Next Steps
  • GPU Features
    • Overview
    • Supported GPU Frameworks
    • Device Selection
      • Basic GPU Selection
      • Device Selection with Decorators
      • Querying Available GPUs
    • Multi-GPU Processing
      • Data Parallel Processing
      • Model Parallel Processing
      • Concurrent GPU Processing
    • Memory Management
      • GPU Memory Monitoring
      • Manual Memory Cleanup
      • Automatic Memory Management
    • CPU-GPU Data Transfer
      • Optimizing Transfers
      • Pinned Memory
      • Asynchronous Transfers
      • Cross-GPU Transfers
    • Framework-Specific GPU Features
      • PyTorch GPU Features
      • CuPy GPU Features
      • JAX GPU Features
      • pyclesperanto GPU Features
    • Performance Optimization
      • GPU Memory Efficiency
      • Kernel Fusion
      • GPU Utilization
    • Common Patterns
      • Pattern: GPU Auto-Selection
      • Pattern: GPU Memory Pool
    • Troubleshooting
      • Common GPU Issues
    • Next Steps
  • Stack Utilities
    • Overview
    • Core Functions
      • stack_slices
      • unstack_slices
    • Basic Usage
      • NumPy Stacking
      • GPU Stacking
      • Cross-Framework Stacking
    • Image Processing
      • Slice-by-Slice Processing
      • GPU-Accelerated Processing
      • Batch Processing
    • Medical Imaging Applications
      • CT/MRI Volume Processing
      • Microscopy Image Stacks
    • Performance Optimization
      • Memory-Efficient Stacking
      • Lazy Loading
      • Parallel Processing
      • Multi-GPU Stacking
    • Advanced Usage
      • Custom Stack Dimensions
      • Mixed Precision Stacking
      • Weighted Stacking
    • Common Patterns
      • Pattern: Volume Iterator
      • Pattern: Slice Cache
      • Pattern: Progressive Loading
    • Error Handling
      • Shape Validation
      • Memory Error Handling
    • Testing
      • Unit Tests
    • API Reference
    • Next Steps
  • Advanced Topics
    • Out-of-Memory (OOM) Recovery
      • Automatic OOM Recovery
      • How OOM Recovery Works
      • Manual OOM Handling
      • Batch Size Reduction
      • Memory Management Strategies
    • Performance Optimization
      • Conversion Performance
      • Memory Layout Optimization
      • Caching and Memoization
    • Profiling and Debugging
      • Timing Conversions
      • Memory Profiling
      • Debugging Conversions
    • Advanced Patterns
      • Pattern: Lazy Conversion
      • Pattern: Conversion Pipeline
      • Pattern: Framework Fallback Chain
      • Pattern: Multi-Backend Abstraction
    • Thread and Process Safety
      • Thread-Local GPU Contexts
      • Multiprocessing with GPUs
    • Custom Memory Types
    • Integration with Other Libraries
      • scikit-learn Integration
      • Dask Integration
    • Troubleshooting
      • Common Issues and Solutions
    • See Also

API Documentation

  • API Reference
    • Core Functions
      • Memory Type Detection
        • detect_memory_type()
      • Memory Conversion
        • convert_memory()
      • Stack Utilities
        • stack_slices()
        • unstack_slices()
    • Decorators
      • Generic Decorator
        • memory_types()
      • Framework-Specific Decorators
        • numpy()
        • cupy()
        • torch()
        • tensorflow()
        • jax()
    • Types and Constants
      • Memory Types
        • MemoryType
      • Constants
        • CPU_MEMORY_TYPES
        • GPU_MEMORY_TYPES
        • SUPPORTED_MEMORY_TYPES
    • Exceptions
      • MemoryConversionError
        • MemoryConversionError.source_type
        • MemoryConversionError.target_type
        • MemoryConversionError.method
        • MemoryConversionError.reason
        • MemoryConversionError.__init__()
    • Detailed API Documentation
      • arraybridge.detect_memory_type
      • arraybridge.convert_memory
      • arraybridge.stack_slices
      • arraybridge.unstack_slices
      • Decorator API
        • arraybridge.decorators.memory_types
        • arraybridge.numpy
        • arraybridge.cupy
        • arraybridge.torch
        • arraybridge.tensorflow
        • arraybridge.jax
      • Type Definitions
        • MemoryType
      • Exception Classes
        • MemoryConversionError
    • Usage Examples
      • Basic Conversion
      • Decorator Usage
      • Stack Processing
    • See Also
  • API Reference
    • Converters Module
      • convert_memory()
      • detect_memory_type()
      • Main Functions
        • convert_memory
        • detect_memory_type
      • Examples
        • Basic Conversion
        • Type Detection
    • Decorators Module
      • memory_types()
      • DtypeConversion
        • DtypeConversion.PRESERVE_INPUT
        • DtypeConversion.NATIVE_OUTPUT
        • DtypeConversion.UINT8
        • DtypeConversion.UINT16
        • DtypeConversion.INT16
        • DtypeConversion.INT32
        • DtypeConversion.FLOAT32
        • DtypeConversion.FLOAT64
        • DtypeConversion.numpy_dtype
      • numpy()
      • cupy()
      • torch()
      • tensorflow()
      • jax()
      • pyclesperanto()
      • Available Decorators
        • Base Decorator
        • Framework-Specific Decorators
        • Dtype Conversion
      • Examples
        • Basic Usage
        • With OOM Recovery
        • Dtype Preservation
    • Types Module
      • MemoryType
        • MemoryType.NUMPY
        • MemoryType.CUPY
        • MemoryType.TORCH
        • MemoryType.TENSORFLOW
        • MemoryType.JAX
        • MemoryType.PYCLESPERANTO
      • Memory Types
        • MemoryType Enum
        • Memory Type Sets
      • Examples
        • Using Memory Types
        • String Values
    • Exceptions Module
      • MemoryConversionError
        • MemoryConversionError.source_type
        • MemoryConversionError.target_type
        • MemoryConversionError.method
        • MemoryConversionError.reason
        • MemoryConversionError.__init__()
      • Exception Classes
        • MemoryConversionError
      • Examples
        • Catching Conversion Errors
    • Utils Module
      • optional_import()
      • Utility Functions
        • Module Import
        • Support Checks
        • Module Management
      • Helper Classes
        • ModulePlaceholder
      • Examples
        • Optional Imports
        • Checking Framework Support
    • Core Modules

Examples

  • Examples
    • Basic Conversion Examples
      • Simple NumPy to PyTorch
      • Preserving Data Types
      • Round-Trip Conversion
      • 3D Array Conversion
      • Automatic Type Detection
    • Decorator Examples
      • Basic Decorator Usage
      • OOM Recovery
      • Dtype Preservation
      • Slice-by-Slice Processing
      • Multiple Framework Support
      • Custom Contracts
    • Multi-Framework Examples
      • Framework-Agnostic Pipeline
      • Mixed Framework Processing
      • Multi-GPU Processing
      • Framework Compatibility Layer
    • Example Categories

Development

  • Contributing
    • Quick Links
    • Development Workflow
  • CI/CD Documentation
    • Overview
    • Quick Commands
arraybridge
  • Overview: module code

All modules for which code is available

  • arraybridge.converters
  • arraybridge.decorators
  • arraybridge.exceptions
  • arraybridge.stack_utils
  • arraybridge.types
  • arraybridge.utils

© Copyright 2025, Tristan Simas.

Built with Sphinx using a theme provided by Read the Docs.