Many of today's applications have complex data analytics pipelines that can benefit from optimizations in memory management, compression, parallel algorithms like sort, search, join, aggregation, groupby, scaling up to multi GPU systems, and scaling out to many nodes. Data preprocessing and data engineering are traditionally CPU based and are becoming the bottleneck for Machine Learning (ML) and Deep Learning (DL) applications, as performance of the frameworks and core ML/DL libraries has been highly optimized leveraging GPUs.