forked from jiuyuan/InfiniTensor
c8b2c8ed32
fix review change Device::MKL to Device::INTELCPU fix mkl linkage fix errors according to merge from master now can call mkl backend fix softmax/flatten with axis from onnx. modify README.md fix memory refree add env_lotus_intelcpu.sh fix compile merge from branch cpu_backend fix something add gather fix something FIX: directory rename from "mkl" to "intelcpu" ADD: use oneMKL dpcpp interface to implement matmul kernel. ADD: add dpcpp as compiler for mkl, and fix warnings for clang compiling. add dpcpp kernel for pow. ADD: mkl kernel for pad. ADD: slice mkl kernel. ADD: reshape/flatten/identity mkl kernel. ADD: split mkl kernel. fix compile error FIX: fix flattenObj with axis. ADD reduce_mean mkl kernel. Add concat mkl kernel. bathNorm for mkl kernel. sigmoid mkl kernel. ADD:add mkl kernel for pooling add more tests for softmax Now softmax cuda kernel supports any axises. mkl kernel for softmax softmax add axis to softmax operator add mkl kernel for abs tanh ADD: relu kernel for mkl fix binary mkl primitives. add mkl kernel for binary operators fix compiler error move stream to runtime clang format add MemoryFormat for tensorObj. use post_ops for fused conv/deconv Distinguish mkl op_timer from cuda op timer. add act optype to conv and deconv add operator timer add mkl kernel for convTransposed minor fix for group conv do not use cblas_sgemm_batch CpuRuntimeObj->NativeCpuRuntimeObj add matmul op for mkl |
||
---|---|---|
.github/workflows | ||
3rd-party | ||
include | ||
proto | ||
pyinfinitensor | ||
python | ||
src | ||
test | ||
.clang-format | ||
.cmake-format.json | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
LICENSE | ||
Makefile | ||
README.md |
README.md
InfiniTensor
Compilation on Lotus
Compilation for cuda
# Enter the root of InfiniTensor
source test/script/env_lotus.sh
make CUDA=ON
Compilation for intelcpu
# Enter the root of InfiniTensor
source test/script/env_lotus.sh intelcpu
mkdir build && cd build
cmake -DUSE_INTELCPU=ON -DCMAKE_CXX_COMPILER=dpcpp .. && make -j 12
Make Commands
make
/make build
: Builds the project;make install-python
: Builds the project then install the python frontend;make test-cpp
: Builds the project then run cpp unit tests;make test-onnx
: Run python unit tests;
Sets env:
CUDA=ON
to enable cuda.
CMake Options
There are several configurable CMake options, see the CMakeLists.txt file.
- If
USE_BACKTRACE
isON
,libdw-dev
have to be installed. See the README of backward-cpp for details. - If
USE_PROTOBUF
isON
,protobuf
have to be installed. See the README of protobuf for details. - If
USE_CUDA
isON
,cuda
have to be installed.
Contributor Guide
InfiniTensor development is based on the pull request on Github. Before requesting for merging, a PR should satisfy the following requirements
- Pass all tests.
- Now CI on Github will test everything that can be tested in the ci environment, including code format. So, script
test/script/clang_format_inplace.sh
is for formatting all code. - Contributors should run
ctest
manually and copy its output to the PR. Use fenced code blocks (triple backquotes, i.e.,```
) to avoid referencing in Github. Otherwise,#
in the output is interpreted as a Github reference. Do not directly paste the ctest output in commit messages either for the same reason.
- Now CI on Github will test everything that can be tested in the ci environment, including code format. So, script
- Receive at least one approval from reviewers.
- PR title should be concise since it is going to be the commit message in the main branch after merging and squashing.