Tabla is an accelerator generator framework for geometric machine learning algorithms. It is an open source project under the Apache license.
TABLA is an innovative framework that generates accelerators for a class of machine learning algorithms. TABLA a template-based solution – from circuit to programming model – for using FPGAs to accelerate geometric machine learning algorithms. The objective of our solution is to devise the necessary programming abstractions and automated frameworks that are uniform across a range of machine learning algorithms. TABLA aims to avoid exposing software developers to the details of hardware design by leveraging commonalities in learning algorithms.
Divya Mahajan, Jongse Park, Emmanuel Amaro, Hardik Sharma, Amir Yazdanbakhsh, Joon Kyung Kim, and Hadi Esmaeilzadeh, "TABLA: A Unified Template-based Framework for Accelerating Statistical Machine Learning", in the Proceedings of the 22nd Annual IEEE International Symposium on High Performance Computer Architecture (HPCA), 2016.
TABLA supports a wide range of geometric machine learning algorithms. The following are the benchmark models we used for the experimental results in our paper:
Benchmarks |
|||||||||
---|---|---|---|---|---|---|---|---|---|
# | Benchmark Name | Algorithm Name | Description | Input Vectors | # of Features | Model Topology | Lines of Code | ||
1 | LogisticR | Logistic Regression | Estimates the probability of dependent variable given one or more independent variables | 581,000 | 54 | 54 | 20 | ||
2 | LogisticR | Logistic Regression | Estimates the probability of dependent variable given one or more independent variables | 500,000 | 200 | 200 | 20 | ||
3 | SVM | Classification | Classifies data into different categoreis by identifying support vectors | 581,000 | 54 | 54 | 23 | ||
4 | SVM | Classification | Classifies data into different categoreis by identifying support vectors | 500,000 | 200 | 200 | 23 | ||
5 | Reco | Recommender Systems | Information filtering system that predict the preference a user would give to an item | 1,700,000 | 27,000 | 1700x1000 | 31 | ||
6 | Reco | Recommender Systems | Information filtering system that predict the preference a user would give to an item | 24,000,000 | 100,000 | 6000x4000 | 31 | ||
7 | Backprop | Backpropagation | Trains a neural network that model the mapping between the inputs and outputs of the data | 38,000 | 10 | 10->9->1 | 48 | ||
8 | Backprop | Backpropagation | Trains a neural network that model the mapping between the inputs and outputs of the data | 90,000 | 256 | 256->128->256 | 48 | ||
9 | LinearR | Linear Regression | Models the relationship between a dependent variable and one or more explanatory variables | 10,000 | 55 | 55 | 17 | ||
10 | LinearR | Linear Regression | Models the relationship between a dependent variable and one or more explanatory variables | 10,000 | 784 | 784 | 17 |
This source code is published under the terms specified in the Apache license.
Copyright 2016 Hadi Esmaeilzadeh
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.