r1.15.5-deeprec2206
Major Features and Improvements
Embedding
- Multi-tier of EmbeddingVariable, add SSD_HashKV which is better performance than LevelDB.
- Support GPU EmbeddingVariable which gather/apply ops place on GPU.
- Add user API to record frequence and version for EmbeddingVariable.
Graph Optimization
- Add Embedding Fusion ops for CPU/GPU.
- Optimize SmartStage performance on GPU.
Runtime Optimization
- Executor, support cost-based and critical path ops first.
- GPUAllocator, support CUDA malloc async allocator. (need to use >= CUDA 11.2)
- CPUAllocator, automatically memory allocation policy generation.
- PMEMAllocator, optimize allocator and add statistic.
Ops & Hardware Acceleration
- Implement SparseReshape, SparseApplyAdam, SparseApplyAdagrad, SparseApplyFtrl, ApplyAdamAsync, SparseApplyAdamAsync, KvSparseApplyAdamAsync GPU kernels.
- Optimize UnSortedSegment on CPU.
- Upgrade OneDNN to v2.6.
IO & Dataset
- ParquetDataset, add parquet dataset which could reduce storage and improve performance.
Model Save/Restore
- Asynchronous restore EmbeddingVariable from checkpoint.
Serving
- SessionGroup, highly improve QPS and RT in inference.
ModelZoo
- Add models SimpleMultiTask, ESSM, DBMTL, MMoE, BST.
Profiler
- Support for mapping of operators and real thread ids in timeline.
BugFix
- Fix EmbeddingVariable core when EmbeddingVariable only has primary embedding value.
- Fix abnormal behavior in L2-norm calculation.
- Fix save checkpoint issue when use LevelDB in EmbeddingVariable.
- Fix delete old checkpoint failure when use incremental checkpoint.
- Fix build failure with CUDA 11.6.
More details of features: https://deeprec.readthedocs.io/zh/latest/
Release Images
CPU Image
alideeprec/deeprec-release:deeprec2206-cpu-py36-ubuntu18.04
GPU Image
alideeprec/deeprec-release:deeprec2206-gpu-py36-cu110-ubuntu18.04