Skip to content

Conversation

@bala-git9
Copy link

Placement Challenge Submission - BALA

Overview

This submission implements a modular, optimized solution for the VLSI cell placement challenge, achieving significant performance improvements through custom CUDA acceleration, spatial hashing, and advanced loss function design.

Key Improvements

Performance:

  • 200-267x speedup for test case 11 (10k cells) with custom CUDA backend
  • 13.5-15x speedup for test case 12 (100k+ cells)
  • Spatial hashing reduces complexity from O(N²) to O(N) for large problems

Technical Innovations:

  • Custom CUDA backend for overlap computation (test cases 11-12)
  • StrongFastSigmoid surrogate gradient function (inspired by SNN research)
  • Adaptive hyperparameter scheduling based on problem size
  • Margin-based overlap loss with conditional application
  • Extended training (5000 epochs) for large problems

Code Organization:

  • Modularized original monolithic placement.py into maintainable components
  • Preserved original test structure and API compatibility
  • Comprehensive documentation in CHANGES.md

Results

  • Test cases 1-10: Zero overlap achieved
  • Test case 11: Zero overlap, ~37.5s for 5000 epochs
  • Test case 12: 0.0007 overlap ratio (71/100010 cells), ~541s for 5000 epochs

Files Changed

  • Modularized codebase into placement_modules/ directory
  • Added cuda_backend/ for CUDA-accelerated overlap computation
  • Updated test.py to work with modular structure
  • Added comprehensive documentation (CHANGES.md, PERFORMANCE_COMPARISON.md)

See CHANGES.md for detailed technical documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant