GPU-Enhanced Fly Brain Imaging Toolkit
A comprehensive, GPU-accelerated toolkit for integrating and visualizing large-scale fly brain imaging data in 3D, designed to democratize access to advanced brain mapping tools for fly brain researchers and neuroscientists worldwide.
FlyBrain-Neuro-GPU integrates two powerful neuroscience toolkits:
- brain-mapping: Advanced GPU acceleration infrastructure
- FlyBrainLab: Specialized fly brain analysis tools
This integration provides unprecedented GPU-accelerated capabilities for fly brain research, offering:
- ⚡ 10x+ faster connectome analysis
- 🎮 Real-time 3D visualization of neural circuits
- 🔬 Multi-modal imaging support (confocal, EM, light sheet)
- 🧠 Large-scale connectome processing (>1M neurons)
- ☁️ Cloud-enabled collaboration and data sharing
- 🐍 Python-native with Jupyter integration
- Repository structure and git subtree integration
- Core GPU acceleration engine (CUDA/ROCm/CPU fallback)
- GPU adapter for FlyBrainLab data formats
- FlyBrainLab bridge with mock implementations
- Comprehensive integration tests
- Docker containerization with GPU support
- Documentation and project planning
- Fetch and integrate brain-mapping project
- Fetch and integrate FlyBrainLab project
- Resolve dependency conflicts
- Performance benchmarking
- GPU memory optimization
GPU Support (Recommended)
- NVIDIA GPU with CUDA 11.8+ support
- OR AMD GPU with ROCm 5.6+ support
- 16GB+ RAM, 8GB+ GPU memory
CPU Fallback
- Multi-core CPU (8+ cores recommended)
- 32GB+ RAM for large datasets
# Clone repository
git clone https://github.com/USERNAME/flybrain-neuro-gpu.git
cd flybrain-neuro-gpu
# Build and run with GPU support
docker-compose up flybrain-neuro-gpu
# Access JupyterLab at http://localhost:8888# Clone repository
git clone https://github.com/USERNAME/flybrain-neuro-gpu.git
cd flybrain-neuro-gpu
# Create conda environment
conda create -n flybrain-neuro-gpu python=3.10 -y
conda activate flybrain-neuro-gpu
# Install PyTorch with CUDA support
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
# Install CuPy for GPU acceleration
pip install cupy-cuda11x
# Install package and dependencies
pip install -e .# Test GPU acceleration
from flybrain_gpu.core.gpu_engine import get_gpu_engine
# Initialize GPU engine
engine = get_gpu_engine()
print(f"GPU Backend: {engine.backend.value}")
# Run performance benchmark
results = engine.benchmark_performance(array_size=100000)
print(f"GPU Speedup: {results['speedup']:.2f}x")
# Test FlyBrainLab integration
from flybrain_gpu.integration.flybrainlab_bridge import FlyBrainLabBridge
bridge = FlyBrainLabBridge()
connectome = bridge.get_gpu_enhanced_connectome("test_query")
print(f"Connectome data: {len(connectome)} components")# GPU-accelerated development
docker-compose up flybrain-neuro-gpu
# CPU-only development
docker-compose --profile cpu-only up flybrain-neuro-cpu
# With database support
docker-compose --profile database up flybrain-neuro-gpu orientdb
# Run tests
docker-compose exec flybrain-neuro-gpu /app/start_flybrain_neuro_gpu.sh test
# Run demo
docker-compose exec flybrain-neuro-gpu /app/start_flybrain_neuro_gpu.sh demoflybrain-neuro-gpu/
├── brain_mapping/ # Git subtree: GPU infrastructure
├── flybrainlab/ # Git subtree: Fly brain tools
├── src/flybrain_gpu/
│ ├── core/ # GPU acceleration engine
│ ├── integration/ # Bridge components
│ └── enhanced_features/ # New capabilities
└── tests/integration/ # Integration tests
-
GPU Engine (
gpu_engine.py)- Unified CUDA/ROCm/CPU abstraction
- Memory management and optimization
- Performance benchmarking
-
GPU Adapter (
gpu_adapter.py)- Adapts brain-mapping GPU for fly data
- Connectome processing acceleration
- Visualization optimization
-
FlyBrainLab Bridge (
flybrainlab_bridge.py)- Integrates FlyBrainLab components
- Natural language query support
- GPU-enhanced simulations
| Metric | Target | Current Status |
|---|---|---|
| Connectome Query Speed | 10x faster | ⚡ Phase 1 |
| 3D Rendering | 60 FPS | 🚧 Phase 2 |
| Memory Efficiency | 10x larger datasets | 🚧 Phase 1 |
| Simulation Speed | 20x faster | 📋 Phase 2 |
# Run all tests
python -m pytest tests/ -v
# Run integration tests only
python -m pytest tests/integration/ -v
# Run GPU-specific tests
python -m pytest tests/ -m "gpu" -v
# Run performance benchmarks
python -m pytest tests/ -m "slow" -v --benchmark-only- GPU-enhanced FlyBrainLab features
- Advanced brain-mapping integration
- Real-time visualization
- Performance optimization
- Machine learning integration
- Cloud platform support
- VR/AR visualization
- API ecosystem
- Production release (v1.0)
- Community building
- Research partnerships
- Educational resources
We welcome contributions! See our Contributing Guide for details.
# Clone with submodules
git clone --recurse-submodules https://github.com/USERNAME/flybrain-neuro-gpu.git
# Set up development environment
conda env create -f environment.yml
conda activate flybrain-neuro-gpu-dev
# Install pre-commit hooks
pre-commit install
# Run development tests
python tests/integration/test_phase1_integration.py# Add brain-mapping as subtree
git remote add brain-mapping https://github.com/hkevin01/brain-mapping.git
git fetch brain-mapping
git subtree add --prefix=brain_mapping brain-mapping main --squash
# Add FlyBrainLab as subtree
git remote add flybrainlab https://github.com/FlyBrainLab/FlyBrainLab.git
git fetch flybrainlab
git subtree add --prefix=flybrainlab flybrainlab main --squash- User Guide: Getting started and tutorials
- Developer Guide: Contributing and architecture
- API Reference: Complete API documentation
- Project Plan: Detailed development roadmap
This project builds upon the excellent work of:
- FlyBrainLab: Comprehensive fly brain analysis platform
- brain-mapping: Advanced GPU acceleration infrastructure
This project is licensed under the MIT License - see the LICENSE file for details.
- Email: flybrain-neuro-gpu@example.com
- Issues: GitHub Issues
- Discussions: GitHub Discussions
🧠⚡ Accelerating fly brain research with GPU power!