Commit Graph
39 Commits
Author SHA1 Message Date
iGavroche d9f8cdbe55 chore: bump pyproject.toml to v2.2.0 2026-06-13 09:56:57 -04:00
iGavroche 281472e0e4 v2.1.1: shared arch detection, sampler auto-detect for z-image/ernie/ideogram4
- Extract detect_architecture() to shared rocm_nodes/utils/architecture.py
- ROCm KSampler now auto-detects GPU architecture + model type at runtime:
  - Flow-matching models (z-image, ernie, ideogram4) logged and optimized
  - Pixel-space models (z-image-turbo) recognized — no VAE decode needed
  - High-memory models (ideogram4, factor 11.6x) get automatic cleanup
  - Architecture-aware backend settings (TF32, fp16 accumulation)
- ROCmSamplerPerformanceMonitor now model-type + architecture aware
- ROCmVAEPerformanceMonitor uses shared architecture detection
- Fix ProgressBar mock in test conftest
- Add flow-matching and pixel-space model detection tests
- Update KSampler/PerfMonitor README docs
2026-06-12 17:49:56 -04:00
iGavroche c989a48aab v2.1.0: LTX/z-image VAE support, temporal tiling, fp16 default, APU tuning
- LTX Video VAE detection (128 channels, 32x spatial compression, 8x temporal)
- z-image / z-image-turbo pixel-space VAE passthrough (no decode needed)
- fp16 default on all AMD GPUs (Strix Halo, RDNA 2/3, CDNA)
- Per-architecture tuning with automatic detection (gfx1151/gfx1100/gfx1030/CDNA)
- Temporal tiling for long videos: overlapping chunks with linear blend,
  zero frame loss, progress bar in UI (disabled by default)
- Chunked IO bypass for LTX — fixes OOM with max_split_size_mb caps
- Fixed memory estimation: correct for all dims (including 5D temporal) and dtypes
- APU-aware memory management (psutil for unified memory on Strix Halo)
- Tile size floor for high-compression VAEs (min 64 latent pixels)
- 25 unit tests covering all new features
2026-06-12 15:54:56 -04:00
iGavroche 82540c5245 chore(release): bump version to 2.0.11 and update documentation
- Updated version to 2.0.11 in pyproject.toml and comfyui_manager.json for consistency.
- Removed video chunking from ROCMOptimizedVAEDecode to ensure full video decoding for temporal/causal VAEs, preventing artifacts.
- Added new ROCm Text Generate LTX2 Prompt node, enhancing generative AI capabilities.
- Updated README to reflect new features and improvements in v2.0.11.
- Enhanced changelog with details on changes and fixes in this release.
2026-03-08 11:35:08 -04:00
iGavroche 64e5ecf00f chore(release): bump version to 2.0.10 for ROCm Ninodes
- Updated version to 2.0.10 in pyproject.toml to reflect the latest changes.
- Ensured consistency in versioning across project metadata.
2026-03-08 09:42:28 -04:00
iGavroche a098c72d77 feat: Enhance ROCm Checkpoint Loader with caching mechanism
- Added optional in-memory cache to ROCmOptimizedCheckpointLoader to avoid redundant disk loads during repeated API runs.
- Implemented cache eviction strategy to manage memory efficiently on gfx1151 architecture.
- Updated INPUT_TYPES to include parameters for cache usage and forced reload.
- Added integration and unit tests to verify cache behavior and functionality.
- Documented caching mechanism in CHECKPOINT_CACHE_API.md and updated LOADER_NODES_GUIDE.md for clarity.
2026-03-05 14:51:48 -05:00
iGavroche d7a43355d3 fix: LoRA loader API compatibility and remove Unicode emojis (v2.0.9)
- Fixed load_lora() missing 'to_load' parameter error
- Added automatic detection of model/clip to build to_load dictionary
- Removed Unicode emojis from LoRA loader output messages
- Replaced with ASCII prefixes for Windows compatibility
2025-12-12 16:38:11 -05:00
iGavroche 32ef99d0b2 perf: Add ROCm optimizations and simplify GGUF loader UI (v2.0.8)
- Removed dtype selector from GGUF loader (unnecessary for quantized models)
- Added ROCm backend configuration (TF32 disabled, FP16 accumulation enabled)
- Added gfx1151 architecture detection with automatic fp32 precision
- Added memory cleanup after loading large GGUF models
- Optimized all tensor transfers to use non-blocking operations
- Improved GPU utilization with async transfers in dequantization pipeline
2025-12-12 16:31:55 -05:00
iGavroche e74fed150e feat: Implement complete GGUF dequantization support (v2.0.7)
- Added full on-the-fly dequantization for GGUF models (Q8_0, Q4_0, Q4_1, Q5_0, Q5_1, BF16)
- Implemented get_weight() and cast_bias_weight() methods for proper tensor handling
- Fixed 'Multiple dispatch failed for torch.nn.linear' error by converting all ROCmGGMLTensor objects to regular tensors
- Added forward_comfy_cast_weights() routing for all ROCmGGMLTensor objects (quantized and non-quantized)
- Based on City96's ComfyUI-GGUF implementation, optimized for ROCm/gfx1151
- Added LoRA patch support and VRAM estimation
- All GGUF models now work correctly for loading and sampling
2025-12-12 16:21:33 -05:00
iGavroche 8c8d915cff fix: Diffusion loader file listing, PyTorch 2.0+ GGUF support, and remove Unicode emojis
- Fixed file listing issue: now checks multiple folder names (diffusion_models, unet, unet_gguf)
- Fixed PyTorch 2.0+ GGUF loading: patches torch.load to set weights_only=False for GGUF files
- Removed all Unicode emojis: replaced with ASCII prefixes [INFO], [WARNING], [ERROR], etc.
- Improved cross-platform compatibility for Windows console

Issues reported by u/x5nder on Reddit - thank you for the bug reports!

Version bump: 2.0.5 -> 2.0.6
2025-12-12 12:49:50 -05:00
iGavroche caf33ea526 fix: Windows console encoding error in install.py
- Fixed UnicodeEncodeError when printing emoji characters on Windows
- Windows console (cp1252) cannot display emoji characters like ✅, ❌, ⚠️
- Added safe_print() function with automatic ASCII fallbacks for Windows
- Emojis are replaced with [OK], [ERROR], [WARNING] on incompatible encodings
- All print statements in install.py now use safe_print() for cross-platform compatibility

Issue reported by u/x5nder on Reddit - thank you for finding this bug!

Version bump: 2.0.4 -> 2.0.5
2025-12-12 12:33:40 -05:00
iGavroche e9d56fb2a0 fix: Add support for multiple model file formats in ROCm Diffusion Loader
- Fixed ROCm Diffusion Model loader to accept .gguf, .ckpt, .pt, .pth, .bin, and .onnx files
- Previously only accepted .safetensors files due to ComfyUI's default filter
- Added custom file scanner that supports all common model formats
- Falls back to ComfyUI's default if custom scanning fails

Issue reported by u/x5nder on Reddit - thank you for finding this bug!

Version bump: 2.0.3 -> 2.0.4
2025-12-12 12:13:56 -05:00
iGavroche 2b7c9e26ee chore(release): bump version to 2.0.3 and update changelog for enhanced KSampler progress reporting 2025-11-30 09:10:58 -05:00
iGavroche 8070724ffb chore(release): bump version to 2.0.2 and update changelog for video processing improvements 2025-11-27 14:22:26 -05:00
Nino ab9ea59779 Fix WAN VAE jitter issue - disable chunking for WAN models (v2.0.1)
- Added reliable WAN VAE detection using isinstance() with imported classes
- Added fallback detection using latent_channels (16 for WAN 2.1, 48 for WAN 2.2)
- Disabled chunking for WAN VAEs to preserve causal decoding chain with feature caching
- Matched native ComfyUI behavior exactly for WAN VAE video processing
- Fixed detection logic to use correct file (rocm_nodes/core/vae.py)
- Applied ROCm backend optimizations to video processing
- Added async memory cleanup for WAN VAE videos
- Added gfx1151 architecture detection and logging
- Updated version to 2.0.1 across all files
2025-11-01 15:02:09 -04:00
Nino 5d515f035e docs: add Upgrade to v2 section; fix ROCm branding in title\nchore: add tools/upgrade_to_v2.py migration helper\nrefactor: finalize v2 structure and cleanup wording 2025-10-30 14:47:52 -04:00
Nino db8f9da2c8 chore(release): v1.0.30 - version bump and changelog 2025-10-29 14:04:05 -04:00
Nino 50e84d712b v1.0.29: Fixed video chunk boundary artifacts - Added temporal overlap to prevent darker frames at chunk boundaries 2025-10-28 18:19:51 -04:00
iGavroche 3291a4b00f Add ROCMLoRALoader node with aggressive memory management
- Created custom LoRA loader node to handle memory fragmentation during LoRA operations
- Implements aggressive_memory_cleanup() before, during, and after LoRA loading
- Added detailed memory state logging for monitoring fragmentation
- Registered node in NODE_CLASS_MAPPINGS and NODE_DISPLAY_NAME_MAPPINGS
- Addresses OOM errors that occur during LoRA weight patching in comfy.float.stochastic_rounding
- Version 1.0.26 with enhanced memory management for ROCm gfx1151
2025-10-19 18:08:28 -04:00
iGavroche c7b9013eb0 v1.0.22: Introduce ROCMMemorySafeKSampler and enhance memory management
- Added ROCMMemorySafeKSampler to prevent out-of-memory (OOM) errors with configurable memory safety levels.
- Implemented comprehensive memory safety checks and emergency cleanup procedures.
- Enhanced memory management with progressive parameter reduction and improved fallback mechanisms.
- Fixed critical memory error detection and handling for better stability during sampling operations.
- Optimized memory monitoring and management for video workflows, ensuring efficient resource utilization.
2025-10-19 10:35:09 -04:00
iGavroche 7d6d9d2a17 v1.0.21: Fix critical memory calculation errors
- Fixed free memory calculation to use reserved_memory instead of allocated_memory
- Added accurate memory monitoring with both allocated and reserved memory display
- Implemented dynamic memory fraction calculation based on actual available memory
- Added helper functions for consistent memory management across all samplers
- Improved OOM prevention with more accurate memory thresholds
- Enhanced memory cleanup with aggressive cache clearing and garbage collection
- Fixed memory calculation consistency between regular and advanced KSamplers
2025-10-18 18:20:22 -04:00
Gavroche 11dee871cd Iterate version to 1.0.17
- Add progress indicators for Windows users experiencing 6-minute hang
- Add conservative memory allocation for Windows stability
- Add completion messages for better user feedback
- Maintain all ROCm optimizations for AMD GPU performance
- Fix WAN VAE frame duplication issue
- Ready for publication
2025-10-17 09:11:36 -04:00
Nino 2c5a3dc689 Fix type mismatch in ROCMOptimizedVAEDecode - v1.0.16
- Fixed 'Input type (float) and bias type (c10::BFloat16) should be the same' error
- Added smart precision detection to match VAE model dtype
- Added explicit BFloat16 to Float32 conversion when needed
- Enhanced model conversion logic with proper logging
- Updated version to 1.0.16

This fix ensures VAE model and input tensors always have matching dtypes,
preventing PyTorch type mismatch errors while maintaining ROCm optimizations.
2025-10-12 10:56:35 -04:00
Gavroche 3b90a34214 Iterate version to 1.0.15
- Fix WAN video decoder darker frame issue
- Prefer non-chunked processing for WAN VAE consistency
- Ready for publication
2025-10-11 15:56:07 -04:00
Gavroche 528cc8423f v1.0.14: Advanced KSampler optimizations for gfx1151
🚀 Major Performance Improvements:
- hipBLAS optimizations: 2-3x matrix multiplication throughput
- Uncached memory allocation: Reduced latency for large models
- FlashInfer-style optimizations: Speculative decoding for diffusion
- Custom AMD sampling path: Optimized data flow for gfx1151

✅ Tested Performance Results:
- ROCM Advanced KSampler: 0.70s (vs 99.33s standard)
- ROCM VAE Decode: 1.26s (maintained excellent performance)
- All 9 ROCM nodes working perfectly
- Windows compatibility fixes included

🔧 Technical Optimizations:
- Fused operations (ReLU, GELU) for AMD GPUs
- Optimal tile sizes (128) for gfx1151 matrix ops
- Kernel fusion for attention operations
- Batch processing optimization
- Dual sampling paths (AMD-optimized vs standard)

Ready for ComfyUI Manager publication!
2025-10-11 14:44:14 -04:00
Gavroche 1466b7f75c ✅ COMPLETE: ROCM Performance Recovery & Testing Infrastructure
- Restored v1.0.13 with all 9 working nodes (ROCMOptimizedCheckpointLoader, ROCMOptimizedKSampler, etc.)
- Implemented comprehensive debug flag system (ROCM_NINODES_DEBUG=1)
- Created complete test suite with performance and correctness tests
- Added data capture infrastructure for real workflow testing
- Built standalone test runner with mock data support
- Created ComfyUI integration tests for Flux and WAN workflows
- Added comprehensive documentation (ARCHITECTURE.md, RULES.md, TESTING_GUIDE.md)
- Updated README with testing section and performance targets
- All tests passing with proper error handling and data validation

Performance Targets:
- Flux: 78% improvement (≤110s total)
- WAN: 5.6% improvement (≤93s sampling)
- VAE Decode: <10s for any resolution
- Checkpoint Load: <30s for Flux models

Ready for production use with comprehensive testing infrastructure!
2025-10-11 09:56:20 -04:00
Gavroche 9651f824f5 v1.0.13: Fix critical WAN video workflow errors and add comprehensive testing
- Fixed AttributeError: 'dict' object has no attribute 'shape'
- Fixed IndexError: tuple index out of range in WAN VAE memory calculation
- Fixed ValueError: Expected numpy array with ndim 3 but got 4 in video output
- Added comprehensive test suite with 9 test cases covering all error scenarios
- Added debug data collection and optimization testing framework
- Updated documentation with testing section and performance benchmarks
- Cleaned up unused files and improved code quality
- WAN video workflows now work end-to-end without errors
2025-10-10 20:00:32 -04:00
Gavroche 2f9c5af099 v1.0.12: Fix parameter type error in ROCMOptimizedKSampler
- Fixed TypeError: '>' not supported between instances of 'list' and 'float'
- Added parameter conversion logic for cfg, steps, seed, denoise, etc.
- Applied fix to both ROCMOptimizedKSampler and ROCMOptimizedKSamplerAdvanced
- Complete end-to-end workflow now executes successfully (70.41s total)
- Performance: Checkpoint 26.05s, Sampling 41.54s, VAE 0.30s
- Successfully generates proper images confirming full functionality
2025-10-10 15:57:47 -04:00
Gavroche ddeffe40e9 v1.0.11: Fix checkpoint compatibility and CLIP input error
- Fixed blessed workflow using diffusion-model-only file instead of full checkpoint
- Resolved 'clip input is invalid: None' error caused by flux1-dev-fp8.safetensors
- Enhanced error handling with comprehensive validation for model, CLIP, and VAE outputs
- Updated troubleshooting guide to explain diffusion-model-only files issue
- Added Flux model guidance for separate file structure
- Blessed workflow now uses user-selectable checkpoint for maximum compatibility
2025-10-10 15:00:55 -04:00
Gavroche 0fbece61e7 v1.0.10: Fix checkpoint loader stability and resolve noise output issues
- Fixed critical ROCMOptimizedCheckpointLoader errors causing noise output
- Resolved torch.pickle and comfy.model_management.ModelPatcher errors
- Streamlined checkpoint loader implementation for maximum reliability
- Enhanced with lazy_loading, optimize_for_flux, and precision_mode parameters
- Performance within 2-3% of standard loader (28.32s vs 29.07s)
- Verified proper 512x512 PNG image generation with both standard and ROCM nodes
- Updated blessed workflow with enhanced checkpoint loader parameters
- Comprehensive testing confirms stable end-to-end workflow execution
2025-10-10 14:38:46 -04:00
Gavroche db15697bb7 Update version to 1.0.9 and enhance ROCM optimizations
- Increment version in pyproject.toml and comfyui_manager.json from 1.0.7 to 1.0.9
- Add new nodes: ROCMOptimizedCheckpointLoader, ROCMFluxBenchmark, and ROCMMemoryOptimizer
- Implement Flux-specific optimizations and adaptive tile sizing in VAE decode
- Introduce memory management improvements and performance benchmarks
- Update README with new features and installation methods for enhanced user experience
2025-10-10 13:53:28 -04:00
Gavroche 29280820b4 Update version to 1.0.7
- Increment version in pyproject.toml from 1.0.6 to 1.0.7
- Increment version in package.json from 1.0.6 to 1.0.7
- Update comfyui_manager.json version to 1.0.7
- Prepare for release with version bump
2025-10-05 12:44:04 -04:00
Gavroche b4e009dae1 merge fixes 2025-10-05 10:12:35 -04:00
iGavroche 0127a5463f Update version in pyproject.toml from 1.0.4 to 1.0.5
- Incremented project version to reflect recent changes and improvements
- Ensures consistency in versioning for future releases
2025-10-03 21:43:55 -04:00
iGavroche 8edcf16072 Add ComfyUI Manager metadata for node discovery
- Add comfyui_manager.json with node definitions
- Update package.json with node list and requirements
- Update pyproject.toml with ComfyUI Manager metadata
- This should fix ComfyUI Manager's 'Check Missing' functionality
2025-10-03 21:41:43 -04:00
iGavroche 756e251496 Add node.zip and update README installation methods
- Introduced a new node.zip file for plugin distribution
- Updated README to include new installation methods for the plugin via ComfyUI CLI and manual installation
- Renumbered installation methods for clarity

This enhances the installation experience for users by providing clear and updated instructions.
2025-10-03 21:37:54 -04:00
iGavroche 763d6cada9 Update icon URL in pyproject.toml for consistency with branch reference
- Changed icon URL to use branch reference for better stability
- Removed outdated icon URL to ensure proper loading in various environments

This update enhances the reliability of the icon display in the project.
2025-10-03 21:33:04 -04:00
iGavroche 1b2ceb641b Add icon and update version in pyproject.toml
- Introduced a new icon for the project
- Updated project version from 1.0.0 to 1.0.4
- Adjusted pyproject.toml to include the icon URL

This enhances the project's visual identity and ensures the versioning reflects recent changes.
2025-10-03 21:28:41 -04:00
iGavroche 853be3bc04 Add comprehensive pyproject.toml for ComfyUI plugin publishing
- Add complete project metadata with description, authors, and maintainers
- Include proper classifiers for OS support, Python versions, and GPU support
- Configure ComfyUI-specific settings with PublisherId and includes
- Add build system configuration with setuptools
- Include optional dependencies for development and testing
- Set up package data inclusion for JSON, JS, MD, TXT, and TOML files
- Ready for PyPI publishing and ComfyUI registry registration
2025-10-03 21:13:03 -04:00