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.