[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [UNIKRAFT/PYTORCH PATCH 1/5] Introduce library skeleton
We use the BSD-3-Clause license for this library glue code. Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> --- .gitignore | 27 +++++++++++++++++++++++++++ CODING_STYLE.md | 4 ++++ CONTRIBUTING.md | 4 ++++ COPYING.md | 39 +++++++++++++++++++++++++++++++++++++++ Config.uk | 25 +++++++++++++++++++++++++ MAINTAINERS.md | 11 +++++++++++ README.md | 38 ++++++++++++++++++++++++++++++++++++++ 7 files changed, 148 insertions(+) create mode 100644 .gitignore create mode 100644 CODING_STYLE.md create mode 100644 CONTRIBUTING.md create mode 100644 COPYING.md create mode 100644 Config.uk create mode 100644 MAINTAINERS.md create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..75d2fd3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +*.depend +*.o +*.a +*.d +*.so +*.orig +*.rej +*.bak +*.swp +*~ +,* +\#*\# +.\#* +\#_*\# +.\#_* +!.gitignore +.* + +# gnu global files +GPATH +GRTAGS +GSYMS +GTAGS + +# cscope files +cscope.* +ncscope.* diff --git a/CODING_STYLE.md b/CODING_STYLE.md new file mode 100644 index 0000000..5730041 --- /dev/null +++ b/CODING_STYLE.md @@ -0,0 +1,4 @@ +Coding Style +============ + +Please refer to the `CODING_STYLE.md` file in the main Unikraft repository. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..5f55eca --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,4 @@ +Contributing to Unikraft +======================= + +Please refer to the `CONTRIBUTING.md` file in the main Unikraft repository. diff --git a/COPYING.md b/COPYING.md new file mode 100644 index 0000000..7e11dfb --- /dev/null +++ b/COPYING.md @@ -0,0 +1,39 @@ +License +======= + +Unikraft pytorch wrappers +------------------------ + +This repository contains wrapper code to build pytorch with Unikraft. +Each C code file in this repository should declare who is the +copyright owner and under which terms and conditions the code is +licensed. If such a licence note is missing, the following copyright +notice will apply: + + Copyright (c) 2020, University Politehnica of Bucharest. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + diff --git a/Config.uk b/Config.uk new file mode 100644 index 0000000..c092109 --- /dev/null +++ b/Config.uk @@ -0,0 +1,25 @@ +menuconfig LIBPYTORCH + bool "pytorch - machine learning library" + select LIBCXX + select LIBPYTHON3 + select LIBLWIP + select LIBPTHREAD_EMBEDDED + select LIBPOSIX_SYSINFO + select LIBNEWLIBC + select LIBPROTOBUF + select LIBPYBIND11 + select LIBZLIB + select LIBINTEL_INTRINSICS + select LIBPTHREADPOOL + select LIBFXDIV + select LIBEIGEN + select LIBGEMMLOWP + select LIBONNX + select LIBSLEEF + select LIBPOSIX_LIBDL + select LIBPOSIX_PROCESS + select LIBPOSIX_SYSINFO + select LIBUKMMAP + select LIBUKTIME + default n + diff --git a/MAINTAINERS.md b/MAINTAINERS.md new file mode 100644 index 0000000..8a9bdbf --- /dev/null +++ b/MAINTAINERS.md @@ -0,0 +1,11 @@ +Maintainers List +================ + +For notes on how to read this information, please refer to `MAINTAINERS.md` in +the main Unikraft repository. + + LIBPYTORCH-UNIKRAFT + M: Felipe Huici <felipe.huici@xxxxxxxxx> + M: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> + L: minios-devel@xxxxxxxxxxxxx + F: * diff --git a/README.md b/README.md new file mode 100644 index 0000000..9371af6 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +pytorch for Unikraft +============================= + +This is the port of pytorch as a Unikraft external library. It +depends on the following libraries that need to be added to `Makefile` +in this order: + +* `pthreads`, e.g. `pthread-embedded` +* `C++ standard library`, e.g.`libcxx`, `libunwind`, `libcxxabi`, `compiler-rt` +* `libc`, e.g. `newlib` +* intel intrinsics, e.g. `intel-intrinsics`a +* `zlib` +* `lwip` +* `python` +* `pybind11` +* `pthreadpool` +* `libfp16` +* `psimd` +* `libfxdiv` +* `protobuf` +* `eigen` +* `gemmlowp` +* `sleef` +* `onnx` + +# Building +This library uses protobuf to generate some of the source files. The +version of protobuf on the host machine must be the same with the one +compile on Unikraft. The easies way to use the binaries from github: +e.g. `https://github.com/protocolbuffers/protobuf/releases/download/v3.10.0/protoc-3.10.0-linux-x86_64.zip` +and add the binary to the path, e.g. `PATH=$PATH:~/path/to/protoc-3.10.0-linux-x86_64/bin/` + +* `pyyaml` must be installed, e.g. `pip3 install pyyaml` + +Currently, only the C++ frontend has beend tested. + +Please refer to the `README.md` as well as the documentation in the `doc/` +subdirectory of the main unikraft repository. -- 2.20.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |