HPE Cognitive Computing Toolkit

GPU-accelerated cognitive computing and deep learning platform from Hewlett Packard Enterprise

About CCT

The HPE Cognitive Computing Toolkit (CCT) is a GPU-accelerated platform for deep learning and other advanced analytics. It provides an embedded domain-specific language (DSL) designed to maximize ease of programmability, while preserving the semantics necessary to generate efficient GPU code. CCT is particularly powerful for applications that require combining deep learning techniques with more conventional signal processing or computer vision algorithms. The CCT DSL lives inside the Scala language, on top of the Java Virtual Machine (JVM).

To run CCT, you’ll need a machine with a relatively current NVIDIA GPU and a 1.8 JDK installed. While CCT emits OpenCL GPU kernels and thus may run on AMD or Intel GPUs as well, these are not regularly tested hardware configurations. IntelliJ IDEA is the recommended option for a development environment. For more detailed installation instructions go to Download and Setup.

The GitHub source code repositories can be found here.

The CCT Tutorial

To get started with CCT, there is a cct-tutorial repository in GitHub with example code. There are two companion documents that go along with the tutorial. The Getting Started page provides an introduction to the CCT platform using examples from the cct-tutorial. A draft of the CCT programming guide is available here. Note that this is an early document, and still refers to CCT by its original internal working name (Cog ex Machina or Cog).

CCT API Documentation

CCT includes four user-visible components. The core provides the compiler, runtime, visual debugger, and standard library. The I/O library includes several useful sensors for standard data types. This is a separate module becuase it has significant dependencies. The NN library includes support for deep learning and similar gradient descent methods. The sandbox includes a number of library routines that don’t cluster into coarse enough chunks to justify independent libraries. All four modules are included as dependencies for the tutorial.

The full set of Scaladocs for CCT are available here: