feat(enginex): CCCL-style algorithm factor replacement engine — 18 operator dispatch system
EngineX replaces the missing corex_gdn/corex_moe/corex_fa2 operator chain
that Sub168 has but our BI-V100 image lacks.
Architecture (mirrors CCCL dispatch/tuning/kernel three-layer system):
Registry (policy_selector) → three-tier dispatch:
Tier 1: Native .so via dlopen (libcorex_gdn.so, libixattn.so)
Tier 2: ixformer Python ops (vendor-provided)
Tier 3: PyTorch fallback (always available)
Critical fixes vs comp 168 docker log:
- moe_topk_softmax: replacement for missing ixformer op
- gdn_prefill: NaN-stable chunked impl (chunk_size=16)
- gdn_decode: state clamp prevents NaN accumulation
18 operators, all tests pass.
This commit is contained in:
16
enginex/__init__.py
Normal file
16
enginex/__init__.py
Normal file
@@ -0,0 +1,16 @@
|
||||
"""
|
||||
EngineX — Algorithm Factor Replacement Engine for BI-V100
|
||||
|
||||
Architecture modeled after CCCL's dispatch/tuning/kernel three-layer system:
|
||||
CCCL: tuning_*.cuh → dispatch_*.cuh → kernel_*.cuh
|
||||
EngineX: tuning/*.py → dispatch/*.py → ops/*.py
|
||||
|
||||
The engine dlopen()s native .so when available, falls back to PyTorch/ixformer.
|
||||
This is NOT an adapter — it's a full algorithm factor replacement layer.
|
||||
"""
|
||||
|
||||
__version__ = "0.1.0"
|
||||
|
||||
from enginex.dispatch.registry import OperatorRegistry, get_registry
|
||||
|
||||
__all__ = ["OperatorRegistry", "get_registry"]
|
||||
Reference in New Issue
Block a user