From 420247ef2db5c08ade2a34d4170f8db8aa7bc439 Mon Sep 17 00:00:00 2001 From: Anuj Mittal Date: Wed, 11 Sep 2019 12:25:56 +0800 Subject: ngraph: add recipe nGraph Library is an open-source C++ library and runtime/compiler suite for Deep Learning ecosystem. For more details, see: https://www.intel.ai/ngraph/ Signed-off-by: Anuj Mittal --- .../ngraph/0001-ngraph-compile-for-DLDT-R2.patch | 141 +++++++++++++++++++++ recipes-devtools/ngraph/ngraph_0.22.1.bb | 23 ++++ 2 files changed, 164 insertions(+) create mode 100644 recipes-devtools/ngraph/ngraph/0001-ngraph-compile-for-DLDT-R2.patch create mode 100644 recipes-devtools/ngraph/ngraph_0.22.1.bb (limited to 'recipes-devtools/ngraph') diff --git a/recipes-devtools/ngraph/ngraph/0001-ngraph-compile-for-DLDT-R2.patch b/recipes-devtools/ngraph/ngraph/0001-ngraph-compile-for-DLDT-R2.patch new file mode 100644 index 00000000..fcc2a849 --- /dev/null +++ b/recipes-devtools/ngraph/ngraph/0001-ngraph-compile-for-DLDT-R2.patch @@ -0,0 +1,141 @@ +From 73e9f605f8ce28c3ef9461c3a85d7dfe7814b867 Mon Sep 17 00:00:00 2001 +From: Erin Park +Date: Wed, 11 Sep 2019 11:15:13 +0800 +Subject: [PATCH] ngraph compile for DLDT R2 + +Upstream-Status: Pending [Taken from Clear Linux with changes to install +binaries/headers to generic locations] +Signed-off-by: Anuj Mittal +--- + src/CMakeLists.txt | 8 ++++-- + src/ngraph.cmake | 54 +++++++++++++++++++++++++++++++++++++++ + src/ngraph/CMakeLists.txt | 21 +++++++++++---- + 3 files changed, 76 insertions(+), 7 deletions(-) + create mode 100644 src/ngraph.cmake + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index c791436d7..c18473572 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -14,14 +14,18 @@ + # limitations under the License. + # ****************************************************************************** + ++cmake_minimum_required(VERSION 3.7.2 FATAL_ERROR) ++ ++project(ngraph) ++ ++include(ngraph.cmake) ++ + add_definitions(-DIN_NGRAPH_LIBRARY) + + include_directories(ngraph) + + add_subdirectory(resource) + +-add_subdirectory(ngraph) +- + if (NGRAPH_TOOLS_ENABLE) + add_subdirectory(tools) + message(STATUS "tools enabled") +diff --git a/src/ngraph.cmake b/src/ngraph.cmake +new file mode 100644 +index 000000000..a0060e08e +--- /dev/null ++++ b/src/ngraph.cmake +@@ -0,0 +1,54 @@ ++# ****************************************************************************** ++# Copyright 2017-2019 Intel Corporation ++# ++# 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. ++# ****************************************************************************** ++ ++set (CMAKE_CXX_STANDARD 11) ++set (CMAKE_CXX_STANDARD_REQUIRED ON) ++if (NOT("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")) ++ set (CMAKE_CXX_FLAGS "-std=c11 ${CMAKE_CXX_FLAGS}") ++endif() ++if (WIN32) ++ add_definitions(-DNOMINMAX) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0 /EHsc /MP") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS") ++ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4308") ++endif() ++ ++set(NGRAPH_TOOLS_ENABLE FALSE) ++set(NGRAPH_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ngraph") ++include_directories("${CMAKE_CURRENT_SOURCE_DIR}" ++ "${NGRAPH_SOURCE_DIR}") ++ ++add_definitions(-DPROJECT_ROOT_DIR="${NGRAPH_SOURCE_DIR}") ++ ++set(NGRAPH_INSTALL_LIB "${CMAKE_INSTALL_PREFIX}") ++ ++if (HAS_MAYBE_UNINITIALIZED) ++ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-uninitialized") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-uninitialized") ++ else() ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-maybe-uninitialized -Wno-return-type") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-maybe-uninitialized -Wno-return-type") ++ endif() ++endif() ++# WA for GCC 7.0 ++if (UNIX) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-return-type") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-return-type") ++endif() ++add_subdirectory(${NGRAPH_SOURCE_DIR}) ++ +diff --git a/src/ngraph/CMakeLists.txt b/src/ngraph/CMakeLists.txt +index 2a9b84549..781855941 100644 +--- a/src/ngraph/CMakeLists.txt ++++ b/src/ngraph/CMakeLists.txt +@@ -574,17 +574,28 @@ endif() + #----------------------------------------------------------------------------------------------- + + # nGraph +-install(FILES ${CMAKE_BINARY_DIR}/VERSION DESTINATION ${CMAKE_INSTALL_PREFIX}) +-install(TARGETS ngraph DESTINATION ${NGRAPH_INSTALL_LIB}) # libngraph.so ++#install(FILES ${CMAKE_BINARY_DIR}/VERSION DESTINATION ${CMAKE_INSTALL_PREFIX}) ++#install(TARGETS ngraph DESTINATION ${NGRAPH_INSTALL_LIB}) # libngraph.so ++#install(DIRECTORY ++# ${CMAKE_CURRENT_SOURCE_DIR}/ ++# DESTINATION "${NGRAPH_INSTALL_INCLUDE}/ngraph" ++# FILES_MATCHING ++# PATTERN "*.hpp" ++# PATTERN "*.h" ++#) ++#install(FILES ${CMAKE_BINARY_DIR}/src/ngraph/version.hpp ++# DESTINATION "${NGRAPH_INSTALL_INCLUDE}/ngraph") ++ ++install(TARGETS ngraph DESTINATION ${CMAKE_INSTALL_LIBDIR}) # libngraph.so + install(DIRECTORY + ${CMAKE_CURRENT_SOURCE_DIR}/ +- DESTINATION "${NGRAPH_INSTALL_INCLUDE}/ngraph" ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/ngraph" + FILES_MATCHING + PATTERN "*.hpp" + PATTERN "*.h" + ) +-install(FILES ${CMAKE_BINARY_DIR}/src/ngraph/version.hpp +- DESTINATION "${NGRAPH_INSTALL_INCLUDE}/ngraph") ++install(FILES ${CMAKE_BINARY_DIR}/ngraph/version.hpp ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ngraph) + + set(CPACK_GENERATOR "DEB") + set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) +-- +2.21.0 + diff --git a/recipes-devtools/ngraph/ngraph_0.22.1.bb b/recipes-devtools/ngraph/ngraph_0.22.1.bb new file mode 100644 index 00000000..fa6427b3 --- /dev/null +++ b/recipes-devtools/ngraph/ngraph_0.22.1.bb @@ -0,0 +1,23 @@ +SUMMARY = "nGraph Compiler Stack" +DESCRIPTION = "nGraph Compiler aims to accelerate developing AI workloads using \ +any deep learning framework and deploying to a variety of \ +hardware targets." +HOMEPAGE = "https://www.ngraph.ai" + +SRC_URI = "git://github.com/NervanaSystems/ngraph.git;protocol=https;branch=r0.22 \ + file://0001-ngraph-compile-for-DLDT-R2.patch;striplevel=2 \ + " + +SRCREV = "6818cc5fae57a46d8558c9fd112e04c57a35e0fa" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +S = "${WORKDIR}/git/src" + +inherit cmake + +OECMAKE_GENERATOR = "Unix Makefiles" + +FILES_${PN}-dev = "${includedir}" +FILES_${PN} += "${libdir}/libngraph.so" -- cgit v1.2.3-54-g00ecf