Enabling efficient computing
and accelerating AI research
via knowledge sharing

acceleration is derivative of velocity over time

Why are you here?

  • Are you working on a compute-intensive algorithm (e.g. for artificial intelligence, computer vision, computational science, etc.) that should perform optimally while balancing multiple objectives (e.g. speed, power consumption, accuracy, reliability)?
  • Do you need to optimize your solution to perform well across different inputs and hardware platforms (e.g. from IoT devices to data centers)?
  • Do you need to objectively compare multiple and continuously changing solutions to enable making smart decisions (e.g. research, development and device costs vs speed vs accuracy vs energy)?
  • Are you working on novel software and hardware that should perform well on realistic emerging workloads (e.g. deep learning)?
  • Are you working on a challenging research project but spend most of your time processing ever growing design and optimization data, and trying to somehow keep up with ever changing SW/HW, rather than innovating?

How can we help?

Designing and optimizing computing solutions has become extremely challenging due to ever changing SW/HW stack, an exploding number of available choices and their interactions. Unfortunately, limited understanding of trade-offs, combined with the cost and time-to-market pressures, leads to few design and optimization choices being explored. This often results in over-provisioned (expensive) and under-performing (uncompetitive) products.

Over the past 15 years we have been leading several highly influential research projects on machine-learning based program optimization and run-time adaptation which enabled the world's first machine-learning based compiler and received multiple international awards.

At the same time, we suffered from all the above problems and eventually decided to develop a scientific research methodology, common workflow framework and public repository of knowledge (Collective Knowledge) based on customizable autotuning, optimization knowledge sharing and predictive analytics, to dramatically accelerate co-design of efficient software and hardware. Our approach helped our partners (including some Fortune 50 companies) achieve 2-20x performance increases, 30% energy reductions, 20% code size reductions, and automatic detection of software and hardware bugs for their business-critical use cases.

We now use our novel methodology and CK technology to help our partners initiate and lead groundbreaking, interdisciplinary and collaborative research projects on fair and reproducible benchmarking, optimization and co-design of emerging workloads such as AI across diverse hardware and inputs while dramatically reducing time to market and R&D costs.

We also support Artifact Evaluation Initiatives at the leading computer systems conferences (CGO, PPoPP, PACT, RTSS, SC) to validate experimental results from published papers and improve artifact sharing and reuse!

Our services

We use our exceptional scientific and engineering background, interdisciplinary knowledge, strong commitment and motivation, and unique Collective Knowledge approach to deliver results of highest value, on time.

We help our partners set up and lead highly innovative and interdisciplinary R∧D projects:

  • automate performance analysis, benchmarking and optimization of realistic workloads (such as deep learning);
  • expose all design and optimization knobs from your software and hardware to make it automatically tunable and adaptive;
  • simplify optimization knowledge sharing across communities of hardware vendors and software developers;
  • perform multi-objective optimization (e.g. cost vs. performance vs. energy vs. accuracy) using practically any programming technologies including OpenCL, OpenMP, CUDA, MPI, and so on;
  • apply statistical ("machine learning") techniques (e.g. building performance models, identifying performance bottlenecks);
  • develop programming tools (e.g. compilers, profilers, highly optimized libraries);
  • tune optimization heuristics on representative workloads;
  • automatically stress-test compilers;
  • optimize predictive models and their topology across realistic inputs.

Live demo of Collective Knowledge: Android app to crowdsource benchmarking of deep learning , live repository with optimization knowledge , CK AI API for Caffe (unified usage and optimization) , CK AI API for TensorFlow (unified usage and optimization) , CK-powered compiler crowd-tuning , research artifacts in the CK format from the leading conferences.

Demo of a community-driven and CK-powered performance analysis and optimization of AI across diverse ARM-based devices at Embedded Vision Summit'17 (Santa Clara, California):

Recent publications with our vision: DATE'16 , CPC'15 , JSP'14.

Contact us!

Who are we?

Anton Lokhmotov, CEO

PhD (University of Cambridge)

Anton has been working in the area of programming languages and tools for 15 years, both as a researcher and engineer, primarily focusing on productivity, efficiency and portability of programming techniques for heterogeneous systems. Anton founded dividiti to pursue his vision of efficient, reliable and cheap computing everywhere.

In 2010-2015, Anton led development of GPU Compute programming technologies for the ARM Mali GPUs, including production (OpenCL, RenderScript) and research (EU-funded CARP project) compilers. He was actively involved in championing technology transfer, educating professional and academic developers, engaging with partners and customers, contributing to open-source projects and standardization efforts. In 2008-2009 he was a post-doctoral research associate at Imperial College London.

Grigori Fursin, CTO

PhD (University of Edinburgh)

Grigori has an interdisciplinary background in computer engineering, physics and predictive analytics with more than 20 years of R&D experience. He has pioneered systematic performance analysis, optimization and adaptation of computing systems based on statistical analysis, machine learning, automatic and crowdsourced tuning. Grigori co-founded dividiti to focus on transferring to industry his unique open-source Collective Knowledge technology consisting of a customizable repository of knowledge, plugin-based autotuning framework and web services for predictive analytics (statistical analysis, data mining, machine learning and feature selection).

Since 2007 when he joined INRIA as a tenured research scientist, Grigori led several highly successful R&D projects including the EU-funded MILEPOST project that produced the world's first machine learning based production compiler (MILEPOST GCC) and received CGO'17 test of time award. In 2010-2011, Grigori was on leave from INRIA invited to establish the Intel Exascale Lab in France while serving as the head of its program optimization and characterization group.

As founder of the nonprofit cTuning Foundation, Grigori is also leading a new artifact evaluation initiative for PPoPP, PACT and CGO, the premier ACM conferences on parallel programming, architecture and code generation, which aims to encourage sharing of code and data to enable reproducible systems research and engineering.