All Projects → ValeevGroup → BTAS

ValeevGroup / BTAS

Licence: BSD-3-Clause license
Basic Tensor Algebra Subroutines

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to BTAS

TensorAlgDiff
Automatic Differentiation for Tensor Algebras
Stars: ✭ 26 (-25.71%)
Mutual labels:  tensor, tensor-algebra
Xtensor Python
Python bindings for xtensor
Stars: ✭ 248 (+608.57%)
Mutual labels:  tensor
L2
l2 is a fast, Pytorch-style Tensor+Autograd library written in Rust
Stars: ✭ 126 (+260%)
Mutual labels:  tensor
Norse
Deep learning with spiking neural networks (SNNs) in PyTorch.
Stars: ✭ 211 (+502.86%)
Mutual labels:  tensor
Tensorflow Cheatsheet
My personal reference for Tensorflow
Stars: ✭ 147 (+320%)
Mutual labels:  tensor
Tensoroperations.jl
Julia package for tensor contractions and related operations
Stars: ✭ 230 (+557.14%)
Mutual labels:  tensor
Pytorch
Tensors and Dynamic neural networks in Python with strong GPU acceleration
Stars: ✭ 52,811 (+150788.57%)
Mutual labels:  tensor
tentris
Tentris is a tensor-based RDF triple store with SPARQL support.
Stars: ✭ 34 (-2.86%)
Mutual labels:  tensor
Nexus
Experimental tensor-typed deep learning
Stars: ✭ 244 (+597.14%)
Mutual labels:  tensor
Tenseal
A library for doing homomorphic encryption operations on tensors
Stars: ✭ 197 (+462.86%)
Mutual labels:  tensor
Compute.scala
Scientific computing with N-dimensional arrays
Stars: ✭ 191 (+445.71%)
Mutual labels:  tensor
Tinytpu
Implementation of a Tensor Processing Unit for embedded systems and the IoT.
Stars: ✭ 153 (+337.14%)
Mutual labels:  tensor
Tullio.jl
Stars: ✭ 231 (+560%)
Mutual labels:  tensor
Hptt
High-Performance Tensor Transpose library
Stars: ✭ 141 (+302.86%)
Mutual labels:  tensor
eigen
Owl's OCaml Interface to Eigen3 C++ Library
Stars: ✭ 30 (-14.29%)
Mutual labels:  tensor
Mtensor
A C++ Cuda Tensor Lazy Computing Library
Stars: ✭ 115 (+228.57%)
Mutual labels:  tensor
Laser
The HPC toolbox: fused matrix multiplication, convolution, data-parallel strided tensor primitives, OpenMP facilities, SIMD, JIT Assembler, CPU detection, state-of-the-art vectorized BLAS for floats and integers
Stars: ✭ 191 (+445.71%)
Mutual labels:  tensor
Tensor
package tensor provides efficient and generic n-dimensional arrays in Go that are useful for machine learning and deep learning purposes
Stars: ✭ 222 (+534.29%)
Mutual labels:  tensor
OLSTEC
OnLine Low-rank Subspace tracking by TEnsor CP Decomposition in Matlab: Version 1.0.1
Stars: ✭ 30 (-14.29%)
Mutual labels:  tensor
Gisola
Gisola: A High Performance Computing application for real-time Moment Tensor inversion
Stars: ✭ 35 (+0%)
Mutual labels:  tensor

Description

Basic Tensor Algebra Subroutines (BTAS) is a C++ library for tensor algebra. BTAS is a reference implementation of Tensor Working Group concept spec. The library can be optionally used header-only at the cost of much lower performance for most operations.

Prerequisites

  • C++17 compiler
  • CMake
  • Boost C++ libraries
    • Iterator
    • (optional, but recommended) Container for fast small vectors
    • (optional) Serialization for serialization (non-header-only)
  • (used by default, strongly recommended, but can be disabled) BLAS+LAPACK libraries and their BLAS++/LAPACK++ C++ APIs for optimized operations (non-header-only)

Building and Installing

TL;DR version

  • cmake .
  • make check

useful CMake variables

  • CMAKE_CXX_COMPILER -- specifies the C++ compiler (by default CMake will look for the C++ compiler in PATH)
  • BTAS_USE_BLAS_LAPACK -- specifies whether to enable the use of BLAS/LAPACK via the BLAS++/LAPACK++ APIs; the default is ON
  • BTAS_BUILD_DEPS_FROM_SOURCE -- specifies whether to enable building the missing dependencies (Boost) from source; the default is OFF
  • BUILD_TESTING -- specifies whether to build unit tests; the default is ON
  • TARGET_MAX_INDEX_RANK -- specifies the rank for which the default BTAS index type will use stack; the default is 6
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].