quadric SDK

Develop, Simulate, Profile, and Deploy.

the power of a code driven processor

with the convenience of no-code graph scheduling

  
  INLINE void fft1d(DdrInOutSignalTensorShape& ddrIn,
                    DdrWeightsTensorShape&     ddrWeights,
                    DdrInOutSignalTensorShape& ddrOut,
                    MemAllocator&              ocmMemAlloc) {
    
    OcmInOutSignalTensorShape ocmIn, ocmOut;
    OcmWeightsTensorShape     ocmWeights;
    ocmMemAlloc.allocate(ocmIn);
    ocmMemAlloc.allocate(ocmWeights);
    ocmMemAlloc.allocate(ocmOut);

    memCpy(ddrIn, ocmIn);
    memCpy(ddrWeights, ocmWeights);

    constexpr std::int32_t numTilesPerInputPoints =
      roundUpToNearestMultiple(inputPoints, Epu::numArrayCores) /
      Epu::numArrayCores;
    constexpr std::int32_t numWeightMatrixes = qmath::log2(inputPoints);

    qVar_t qInput[numTilesPerInputPoints * 2];
    qVar_t qWeights[numTilesPerInputPoints * 2];

    fetchInputIndexBitReversed(ocmIn, qInput);
    fft1DHop(qInput, qWeights, ocmWeights);
    writeAllTiles(qInput, ocmOut);
    memCpy(ocmOut, ddrOut);

    ocmMemAlloc.free(ocmOut);
    ocmMemAlloc.free(ocmWeights);
    ocmMemAlloc.free(ocmIn);
  }
  
quadric SDK

Source Mode.


Available Now
Source Mode gives developers source-level C++control of the processor’s architectural features, such as control flow, random access and optimized data-parallel execution. Examples of source mode kernels include GEMM, 1D and 2D N-point FFT, and image filtering. As DNNs become more complex, capture these complexities with the source mode APIs in the form of custom operations.
Read the Docs
quadric SDK

Graph Mode


Closed Beta
Graph Mode gives developers the power to use the frameworks that they are used to. Bring in supported frozen graphs in ONNX or TF format. The graphs are automatically scheduled by our TVM-based scheduler. Packaged up in docker and available as command line tools.

Software Stack

Have the peace of mind to trust in our software stack. Our SDK is built upon the power of open source. We leverage technologies such as LLVM, C++, and TVM to create a portable, future-proof software stack that will always support our products. Develop and profile your code using the power of our software-only architecture simulator. Deploy the same application on the q16 Processor.
A visual depiction of the quadric SDK software stack.
Our software stack built from the ground up to handle any AI algorithm.
Graph Mode: Our TVM-based Graph Compiler ingests frozen graphs specified in popular frameworks such as PyTorch and TensorFlow.
Source Mode: Control the architecture directly using our abstracted high level C++ APIs. Read more about them here docs.quadric.io >
Our LLVM-based C++ compiler takes the hassle out of dealing with complicated machine code and assembly.  
Dial in the architecture configuration and compile source code to any architecture target including the q16 Processor >
Book a Demo
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Learn about our SDK through examples
The first in a series of Algorithm Stories.

Algorithm Stories

Nov 1, 2021
By 
Daniel Firu
source
We want to drive home the point that along with Neural Network acceleration, we also accelerate data parallelism for classical algorithms, as well. We selected the Fourier Transform because of its historical and continued importance across many industries. As well as the elegance with which is maps to our architecture.

Algorithm Stories: 1D FFT

Nov 1, 2021
By 
Daniel Firu
source