Dakkak, Abdul; Pearson, Carl; Li, Cheng

The Cognitive Application Builder (CAB) is a project to develop a tool to improve programmer productivity when creating cognitive computing applications. In particular, to address the challenges of:

  • Data-driven development: many cognitive computing applications rely on large datasets, either during model training, or for model parameters. Managing this data during training and deployment is a key challenge.
  • Heterogeneous execution: achieving high-performance on modern systems requires implementations for multicore CPU, GPU, FPGA, and other accelerators, and managing communication between these components.
  • Application dataflow optimization: Allowing the developer to produce an intuitive description of the application, while providing compiler and runtime systems sufficient information to perrform static and dynamic optimizations.

Related papers:

"Evaluating Characteristics of CUDA Communication Primitives on High-Bandwidth Interconnects", Carl Pearson, Abdul Dakkak, Cheng Li, Jinjun Xiong, Wen-mei Hwu, Pearson, Carl, et al. "Evaluating Characteristics of CUDA Communication Primitives on High-Bandwidth Interconnects." Proceedings of the 10th ACM/SPEC International Conference on Performance Engineering. ACM, 2019.. (ICPE Best Paper Award) [more...]
"NUMA-Aware Data-Transfer Measurements for Power/NVLink Multi-GPU Systems", Carl Pearson, Zehra Sura, Wen-mei Hwu, International Conference on High Performance Computing. Springer, Cham, 2018.. [more...]