Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #256

Merged
merged 136 commits into from
Feb 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
0e4dfda
Added accumulated gradients functionalities (Only for Conv and Dense …
Jul 31, 2020
0f6d800
Merge branch 'distr' of github.com:deephealthproject/eddl into distr …
jonandergomez Aug 4, 2020
f434b2a
Draft version of ad-hoc distributed version
jonandergomez Aug 17, 2020
3e0f5ae
Draft version of the communication system
jonandergomez Aug 17, 2020
c28481d
Few updates on src/distributed/README.md
jonandergomez Aug 17, 2020
f682035
Few corrections in src/distributed/README.md
jonandergomez Aug 17, 2020
4e8a4da
Few corrections on src/distributed/README.md
jonandergomez Aug 17, 2020
a42edf1
modified src/distributed/README.md
jonandergomez Aug 17, 2020
fe9d096
modified src/distributed/README.md
jonandergomez Aug 17, 2020
b9c9a7f
modified src/distributed/README.md
jonandergomez Aug 17, 2020
345d1c4
Merge branch 'master' of github.com:deephealthproject/eddl into distr
jonandergomez Sep 1, 2020
c9c9901
Diagrams update
jonandergomez Sep 1, 2020
5a1e855
Add openssl + documentation
salvacarrion Sep 4, 2020
6e2a582
Minor fix summary
salvacarrion Sep 4, 2020
d78e79d
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Sep 16, 2020
ad4e5da
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Sep 26, 2020
a38e7cb
Merge branch 'master' of github.com:deephealthproject/eddl into distr
jonandergomez Oct 21, 2020
4f7fdc9
onnx.pb.h
jonandergomez Oct 21, 2020
c5dd71e
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Oct 21, 2020
8dbf2cf
modified: docs/sphinx/source/installation/faq.rst
jonandergomez Oct 21, 2020
efde703
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Oct 21, 2020
c54e749
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Oct 21, 2020
b75fc4d
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Oct 21, 2020
6fe3ad1
Removing misc.rst in docs/sphinx/source/misc
jonandergomez Oct 21, 2020
38ece06
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Oct 23, 2020
91b81fd
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Nov 4, 2020
78374b4
prototype code for forward
antodo Jan 22, 2021
6dc8911
Merge branch 'master' of https://github.com/deephealthproject/eddl in…
jonandergomez Jan 25, 2021
23f059f
Merge branch 'develop' of https://github.com/deephealthproject/eddl i…
jonandergomez Jan 25, 2021
f7bef05
prototype code for forward
antodo Jan 25, 2021
e5af28b
Merge branch 'develop' of https://github.com/deephealthproject/eddl i…
jonandergomez Jan 25, 2021
605dce6
prototype code for forward
antodo Jan 25, 2021
d394b0d
block code for forward
antodo Jan 27, 2021
e58788c
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Jan 28, 2021
76e1bc8
CMakeLists update
jonandergomez Jan 28, 2021
5953eb3
Corrected problems in examples/CMakeLists.txt
jonandergomez Jan 28, 2021
54e82fc
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Jan 28, 2021
df7aa72
Yet another mistake in examples/CMakeLists.txt
jonandergomez Jan 28, 2021
a3fc7b2
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Jan 28, 2021
43c00d7
Manual merge with develop
jonandergomez Jan 28, 2021
245b4db
Merge with develop issues manually updated
jonandergomez Jan 28, 2021
25c8887
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Jan 31, 2021
771ec62
wip
antodo Feb 1, 2021
132b921
Merge remote-tracking branch 'upstream/develop' into develop
antodo Feb 2, 2021
bca2a96
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Feb 3, 2021
1f352c2
primera version en GPU del backward
antodo Feb 4, 2021
0a6aecb
segunda version backward
antodo Feb 4, 2021
3c17360
Merge branch 'develop' of https://github.com/antodo/eddl into develop
antodo Feb 4, 2021
1d612fd
Merge remote-tracking branch 'upstream/develop' into develop
antodo Feb 4, 2021
5c58d6c
version final del backward
antodo Feb 4, 2021
a3e6917
Merge branch 'develop' of https://github.com/antodo/eddl into develop
antodo Feb 4, 2021
5a58384
Merge branch 'develop' into develop
salvacarrion Feb 4, 2021
e39a3dd
New BatchNorm routines in tensorNN
antodo Feb 4, 2021
78cf0d7
Merge branch 'develop' of https://github.com/antodo/eddl into develop
antodo Feb 4, 2021
c0e3d79
fix conditional compilation
antodo Feb 4, 2021
d43c00b
remove blank line changes
antodo Feb 4, 2021
b619f26
Merge branch 'develop' into develop
antodo Feb 4, 2021
f903b91
Merge branch 'develop' into develop
antodo Feb 4, 2021
b9edb0f
Merge remote-tracking branch 'upstream/develop' into develop
antodo Feb 4, 2021
9147ba6
Fix gpu_batchnorm_forward
antodo Feb 8, 2021
f31c560
Merge remote-tracking branch 'upstream/develop' into develop
antodo Feb 8, 2021
8930813
Merge branch 'develop' into develop
antodo Feb 8, 2021
f3ef2be
Merge branch 'develop' of https://github.com/antodo/eddl into develop
antodo Feb 9, 2021
f8ad7ef
Merge remote-tracking branch 'upstream/develop' into develop
antodo Feb 10, 2021
00c2369
Fix CMake errors on Windows
MicheleCancilla Feb 10, 2021
2857aad
Merge branch 'develop' of github.com:deephealthproject/eddl into fix_…
MicheleCancilla Feb 10, 2021
06fafc6
unitary test for batchnorm
antodo Feb 10, 2021
69f351c
Merge branch 'develop' of https://github.com/antodo/eddl into develop
antodo Feb 10, 2021
1e798a0
Merge branch 'develop' into develop
antodo Feb 10, 2021
68c2bfb
Merge branch 'master' of github.com:deephealthproject/eddl into distr
jonandergomez Feb 10, 2021
c2b0c11
remove conflict marker
antodo Feb 10, 2021
8e16005
Move batchnorm code to NN
antodo Feb 10, 2021
5b2e8c3
Merge remote-tracking branch 'upstream/develop' into develop
antodo Feb 10, 2021
a50d537
New batchnorm implementation
antodo Feb 10, 2021
9239712
Merge branch 'develop' of https://github.com/deephealthproject/eddl i…
MicheleCancilla Feb 11, 2021
78161e3
Merge branch 'develop' of github.com:deephealthproject/eddl into distr
jonandergomez Feb 11, 2021
1e051c7
Added support for GRU and RNN in ONNX. And some minor improvements to…
chavicoski Feb 11, 2021
a59dbf8
Fix default value of BUILD_SHARED_LIBS on Windows
MicheleCancilla Feb 11, 2021
f444dae
delete metrics
RParedesPalacios Feb 11, 2021
d3aa6f6
Improve cmake robustness + Add zlib/openssl + Dist flags
salvacarrion Feb 11, 2021
c285562
Allow cudnn when testing
salvacarrion Feb 11, 2021
b6c8047
Update workflows
salvacarrion Feb 11, 2021
887dbe1
Update reference requirements
salvacarrion Feb 11, 2021
b0c3068
Update docs
salvacarrion Feb 11, 2021
bfb0b08
Merge remote-tracking branch 'origin/develop' into develop
salvacarrion Feb 11, 2021
07e12b7
Merge branch 'develop' of https://github.com/deephealthproject/eddl i…
salvacarrion Feb 11, 2021
6ba2ad8
Force dependencies
salvacarrion Feb 11, 2021
d48e99a
test
RParedesPalacios Feb 11, 2021
bd031d7
Merge branch 'develop' of https://github.com/deephealthproject/eddl i…
RParedesPalacios Feb 11, 2021
de6e1ef
Ignore distributed files if they're not needed
salvacarrion Feb 11, 2021
3ad2362
Merge branch 'develop' of https://github.com/deephealthproject/eddl i…
salvacarrion Feb 11, 2021
1c7b58f
Merge branch 'develop' of github.com:deephealthproject/eddl into fix_…
MicheleCancilla Feb 11, 2021
116c955
remove thrust from cross entropy
antodo Feb 11, 2021
2022915
Merge remote-tracking branch 'upstream/develop' into develop
antodo Feb 11, 2021
83b6c3f
BN algorithm selection
RParedesPalacios Feb 11, 2021
f38d2b7
Merge branch 'develop' of https://github.com/deephealthproject/eddl i…
salvacarrion Feb 11, 2021
96597ab
Add find_package(CUDAToolkit) again
MicheleCancilla Feb 11, 2021
58df03c
Merge branch 'develop' into develop
antodo Feb 11, 2021
3f35119
Minor changes
salvacarrion Feb 11, 2021
840b842
fix some errors
antodo Feb 11, 2021
673923d
Merge branch 'develop' of https://github.com/antodo/eddl into develop
antodo Feb 11, 2021
f95a327
Add options to disable dist/runtime
salvacarrion Feb 11, 2021
b0e4eab
Remove redundant line
salvacarrion Feb 11, 2021
4f010ca
Merge pull request #253 from antodo/develop
RParedesPalacios Feb 11, 2021
b595202
Merge branch 'develop' of https://github.com/deephealthproject/eddl i…
salvacarrion Feb 11, 2021
cebcaf9
Merge branch 'develop' into fix_cmake_windows
salvacarrion Feb 11, 2021
a164739
Merge pull request #255 from deephealthproject/distr
salvacarrion Feb 11, 2021
bb50301
Merge branch 'develop' into fix_cmake_windows
salvacarrion Feb 11, 2021
de8582e
Merge pull request #254 from MicheleCancilla/fix_cmake_windows
salvacarrion Feb 11, 2021
e4297a7
Add CUDA for testing (again)
salvacarrion Feb 11, 2021
f2a6428
Minor change (to trigger Windows testing)
salvacarrion Feb 11, 2021
df3b166
Pools and test3
RParedesPalacios Feb 11, 2021
3df430b
Merge branch 'develop' of https://github.com/deephealthproject/eddl i…
RParedesPalacios Feb 11, 2021
d857a81
Fixing the use of MSG_NOSIGNAL in APPLE
jonandergomez Feb 11, 2021
8cc8925
Merge branch 'develop' of github.com:deephealthproject/eddl into develop
jonandergomez Feb 11, 2021
5fb61d1
tests and CMake
RParedesPalacios Feb 11, 2021
b9faae4
Merge branch 'develop' of https://github.com/deephealthproject/eddl i…
RParedesPalacios Feb 11, 2021
c1ff13a
tests
RParedesPalacios Feb 11, 2021
1e6aa87
test4
RParedesPalacios Feb 11, 2021
9e20d97
test4 memory
RParedesPalacios Feb 12, 2021
f1e3519
losses mem level
RParedesPalacios Feb 12, 2021
a0913c9
drive example
RParedesPalacios Feb 12, 2021
38800bc
Disable zlib / openssl from workflow
salvacarrion Feb 12, 2021
8149620
Add cuddn flag
salvacarrion Feb 12, 2021
c5df1bd
Add cuddn flag (docs)
salvacarrion Feb 12, 2021
e9a1266
Typo
salvacarrion Feb 12, 2021
cf35ce7
Merge remote-tracking branch 'origin/develop' into develop
salvacarrion Feb 12, 2021
1a13c76
test4 memory
RParedesPalacios Feb 12, 2021
5534a7a
Merge branch 'develop' of https://github.com/deephealthproject/eddl i…
RParedesPalacios Feb 12, 2021
c0caadf
examples
RParedesPalacios Feb 12, 2021
ef185cc
Improve CUDNN support and fallbacks
salvacarrion Feb 12, 2021
a3db7b1
Merge remote-tracking branch 'origin/develop' into develop
salvacarrion Feb 12, 2021
a7990ae
aded code for conv3d but not tested yet
adcastel Feb 12, 2021
55791dd
aded code for pool3d but not tested yet
adcastel Feb 12, 2021
537e195
1D pool and conv bug fixed in cuDNN
adcastel Feb 12, 2021
90d016b
Merge branch 'develop' of https://github.com/deephealthproject/eddl i…
adcastel Feb 12, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-cpu-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
run: |
mkdir build
cd build
cmake -G "Visual Studio 16 2019" -A x64 -DBUILD_SUPERBUILD=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_TARGET=CPU -DBUILD_HPC=OFF -DBUILD_TESTS=ON ..
cmake -G "Visual Studio 16 2019" -A x64 -DBUILD_SUPERBUILD=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_TARGET=CPU -DBUILD_HPC=OFF -DBUILD_TESTS=ON -DBUILD_DIST=OFF -DBUILD_RUNTIME=OFF ..
shell: cmd
- name: Build
run: cmake --build build --config Release
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/build-cpu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,14 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Install utilities
run: sudo apt-get install -y cmake wget graphviz
run: |
sudo apt-get install -y cmake wget graphviz
#sudo apt-get install -y build-essential checkinstall zlib1g-dev libcrypto++-dev libssl-dev
- name: Build
run: |
mkdir build
cd build
cmake .. -DBUILD_SUPERBUILD=ON -DBUILD_HPC=OFF -DBUILD_TESTS=ON
cmake .. -DBUILD_SUPERBUILD=ON -DBUILD_HPC=OFF -DBUILD_TESTS=ON -DBUILD_DIST=OFF -DBUILD_RUNTIME=OFF
make
- name: Test
run: |
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ src/serialization/onnx/onnx.pb.cc
*.DS_Store
.idea
.vscode
*~

# Build
/[Bb]uild*
Expand Down
14 changes: 11 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,18 @@ cmake_minimum_required(VERSION 3.9.2)
option(BUILD_SUPERBUILD "Compile using the superbuild system" OFF)
option(BUILD_PROTOBUF "Compile using Protobuf" ON)
option(BUILD_OPENMP "Compile using OpenMP" ON)
option(BUILD_HPC "Compile using aggressive flags" ON)
option(BUILD_HPC "Compile using aggressive flags for performance" ON)
option(BUILD_TESTS "Compile tests (HPC needs to be disabled)" OFF) # Disable HPC to pass tests (there are numerical errors)
option(BUILD_EXAMPLES "Compile examples" ON)
option(BUILD_SHARED_LIBS "Global flag to cause add_library to create shared libraries if on" ON)
option(BUILD_DIST "Compile for a distributed execution" OFF)
option(BUILD_RUNTIME "Compile runtime" OFF)
option(BUILD_COVERAGE "Flag to compile for coverage information" OFF)
option(BUILD_SANITIZERS "Flag to compile with sanitizers information" OFF)

if(WIN32)
option(BUILD_SHARED_LIBS "" OFF) # Prefer lib over dll in windows
option(BUILD_SHARED_LIBS "Global flag to cause add_library to create shared libraries if on" OFF)
else()
option(BUILD_SHARED_LIBS "Global flag to cause add_library to create shared libraries if on" ON)
endif()

###########################################################################
Expand Down Expand Up @@ -144,6 +147,11 @@ if(BUILD_EXAMPLES)
add_subdirectory(examples)
endif(BUILD_EXAMPLES)

# Build runtime
if(BUILD_RUNTIME)
add_subdirectory(runtime)
endif(BUILD_RUNTIME)


###########################################################################
########################## INSTALLATION ###################################
Expand Down
86 changes: 65 additions & 21 deletions cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,12 @@ endif()
# For development (ignore)
option(USE_SYSTEM_GTEST "Use system dependency" OFF)
option(USE_SYSTEM_EIGEN "Use system dependency" OFF)
option(USE_SYSTEM_ZLIB "Use system dependency" OFF)
option(USE_SYSTEM_PROTOBUF "Use system dependency" OFF)
if(WIN32)
option(USE_SYSTEM_PTHREADS "Use system dependency" OFF)
endif()
option(USE_SYSTEM_ZLIB "Use system dependency" OFF)
option(USE_SYSTEM_OPENSSL "Use system dependency" OFF)
#if(WIN32)
# option(USE_SYSTEM_PTHREADS "Use system dependency" OFF)
#endif()

# Set variables
set(EDDL_DEPENDENCIES)
Expand Down Expand Up @@ -73,14 +74,14 @@ if(CMAKE_GENERATOR MATCHES "Visual Studio")
list(APPEND config_types ${CMAKE_BUILD_TYPE})
endif()

##############
### GTEST ##
##############
#############
## GTEST ##
#############
message(STATUS "Subproject: GTEST...")
if(USE_SYSTEM_GTEST)
find_package(GTest REQUIRED)
else()
# Download and unpack googletest at configure time
# Download and unpack googletest at configure time
foreach(config ${config_types})
CONF_PACKAGE(googletest ${config} "")
BUILD_PACKAGE(googletest ${config})
Expand Down Expand Up @@ -120,31 +121,74 @@ else()
CONF_PACKAGE(protobuf ${config} @ONLY)
BUILD_PACKAGE(protobuf ${config})
endforeach()

set(Protobuf_ROOT "${EP_BASE_DIR}/protobuf" PARENT_SCOPE)
set(Protobuf_INCLUDE_DIRS "${EP_BASE_DIR}/protobuf/include" PARENT_SCOPE)
set(Protobuf_PROTOC_EXECUTABLE "${EP_BASE_DIR}/protobuf/bin/protoc" PARENT_SCOPE)
endif()
add_custom_target(protobuf_files
add_custom_target(protobuf_files
protoc --cpp_out=../src/serialization/onnx ../src/serialization/onnx/onnx.proto
)
message(STATUS "Subproject: Protobuf...DONE")

##################
## PTHREADS4W ##
##################
if(WIN32)
if(USE_SYSTEM_PTHREADS)
set(PTHREADS_INSTALL_PATH "$ENV{PTHREADS_ROOT}" CACHE PATH "Path to the installation of Pthreads under Windows (PTHREADS_ROOT env variable)" PARENT_SCOPE)

# Only for distributed versions
if(BUILD_DIST)

############
## ZLIB ##
############
message(STATUS "Subproject: ZLIB...")
if(USE_SYSTEM_ZLIB)
find_package(ZLIB REQUIRED)
else()
# Download and unpack pthreads4w at configure time
CONF_PACKAGE(pthreads4w ${CMAKE_BUILD_TYPE} @ONLY)
BUILD_PACKAGE(pthreads4w ${CMAKE_BUILD_TYPE})

set(PTHREADS_INSTALL_PATH "${EP_BASE_DIR}/PTHREADS-BUILT" PARENT_SCOPE)
# Download and unpack ZLIB at configure time
foreach(config ${config_types})
CONF_PACKAGE(zlib ${config} "")
BUILD_PACKAGE(zlib ${config})
endforeach()
# Set variables
SET(ZLIB_ROOT "${EP_BASE_DIR}/zlib" PARENT_SCOPE)
SET(ZLIB_INCLUDE_DIRS "${EP_BASE_DIR}/zlib/include" PARENT_SCOPE)
endif()
message(STATUS "Subproject: ZLIB...DONE")


###############
## OPENSSL ##
###############
message(STATUS "Subproject: OpenSSL...")
if(USE_SYSTEM_OPENSSL)
find_package(OpenSSL REQUIRED)
else()
# Download and unpack ZLIB at configure time
foreach(config ${config_types})
CONF_PACKAGE(openssl ${config} "")
BUILD_PACKAGE(openssl ${config})
endforeach()
# Set variables
SET(OPENSSL_ROOT_DIR "${EP_BASE_DIR}/openssl" PARENT_SCOPE)
SET(OPENSSL_INCLUDE_DIR "${EP_BASE_DIR}/openssl/include" PARENT_SCOPE)
endif()
message(STATUS "Subproject: OpenSSL...DONE")

endif()

##################
## PTHREADS4W ##
##################
#if(WIN32)
# if(USE_SYSTEM_PTHREADS)
# set(PTHREADS_INSTALL_PATH "$ENV{PTHREADS_ROOT}" CACHE PATH "Path to the installation of Pthreads under Windows (PTHREADS_ROOT env variable)" PARENT_SCOPE)
# else()
# # Download and unpack pthreads4w at configure time
# CONF_PACKAGE(pthreads4w ${CMAKE_BUILD_TYPE} @ONLY)
# BUILD_PACKAGE(pthreads4w ${CMAKE_BUILD_TYPE})
#
# set(PTHREADS_INSTALL_PATH "${EP_BASE_DIR}/PTHREADS-BUILT" PARENT_SCOPE)
# endif()
#endif()

###############
##### EDDL ##
###############
Expand Down
30 changes: 29 additions & 1 deletion cmake/EDDLConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,19 @@ include(CMakeFindDependencyMacro)

# VARIABLES
SET(USE_SUPERBUILD @BUILD_SUPERBUILD@) # Set in parent
SET(USE_DIST @BUILD_DIST@) # Set in parent

SET(USE_PROTOBUF @BUILD_PROTOBUF@) # Set in parent
SET(USE_OPENMP @USE_OPENMP@) # Modified in a subdirectory
SET(USE_DIST @USE_DIST@) # Modified in a subdirectory
SET(USE_CUDA @USE_CUDA@) # Modified in a subdirectory
SET(USE_CUDNN @USE_CUDNN@) # Modified in a subdirectory
SET(USE_FPGA @USE_FPGA@) # Modified in a subdirectory

SET(USE_SYSTEM_EIGEN @USE_SYSTEM_EIGEN@) # Modified in a subdirectory
#SET(USE_SYSTEM_ZLIB @USE_SYSTEM_ZLIB@) # Modified in a subdirectory
SET(USE_SYSTEM_PROTOBUF @USE_SYSTEM_PROTOBUF@) # Modified in a subdirectory
SET(USE_SYSTEM_ZLIB ON) # Modified in a subdirectory (the superbuild installation does not include the cmakes to find the library)
SET(USE_SYSTEM_OPENSSL ON) # Modified in a subdirectory (the superbuild installation does not include the cmakes to find the library)
SET(EP_BASE_DIR @EP_BASE_DIR@) # Modified in a subdirectory

# Threads (linux)
Expand All @@ -35,6 +40,11 @@ if(USE_FPGA)
find_dependency(OpenCL REQUIRED)
endif()

# Distributed
if(USE_DIST)
find_dependency(OpenSSL REQUIRED)
endif()

if(USE_SUPERBUILD)
list(APPEND CMAKE_MODULE_PATH "${EP_BASE_DIR}")
if(NOT USE_SYSTEM_EIGEN)
Expand All @@ -56,6 +66,24 @@ if(USE_PROTOBUF)
endif()
endif()

if(USE_DIST)
# Zlib
if(USE_SUPERBUILD AND NOT USE_SYSTEM_ZLIB)
SET(ZLIB_ROOT @ZLIB_ROOT@) # Modified in a subdirectory
find_dependency(ZLIB CONFIG REQUIRED HINTS ${ZLIB_ROOT})
else()
find_dependency(ZLIB REQUIRED)
endif()

# OpenSSL
if(USE_SUPERBUILD AND NOT USE_SYSTEM_OPENSSL)
SET(OPENSSL_ROOT_DIR @OPENSSL_ROOT_DIR@) # Modified in a subdirectory
find_dependency(OpenSSL CONFIG REQUIRED HINTS ${OPENSSL_ROOT_DIR})
else()
find_dependency(OpenSSL REQUIRED)
endif()
endif()

include("${CMAKE_CURRENT_LIST_DIR}/EDDLTargets.cmake")

# Set default paths
Expand Down
18 changes: 18 additions & 0 deletions cmake/openssl.CMakeLists.txt.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
cmake_minimum_required(VERSION 3.9.2)

project(openssl-download NONE)

# Set base dir
SET(EP_BASE_DIR @EP_BASE_DIR@)
SET(CMAKE_BUILD_TYPE @CMAKE_BUILD_TYPE@)

include(ExternalProject)
ExternalProject_Add(openssl
PREFIX openssl
GIT_REPOSITORY "https://github.com/openssl/openssl.git"
GIT_TAG "OpenSSL_1_1_1i"
SOURCE_DIR "${EP_BASE_DIR}/openssl-src"
BINARY_DIR "${EP_BASE_DIR}/openssl-build"
INSTALL_DIR "${EP_BASE_DIR}/openssl"
CONFIGURE_COMMAND sh ${EP_BASE_DIR}/openssl-src/config --prefix=${EP_BASE_DIR}/openssl
)
7 changes: 2 additions & 5 deletions docs/markdown/bundle/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,7 @@ ca-certificates 2020.12.5 ha878542_0 conda-forge
cairo 1.16.0 h7979940_1007 conda-forge
certifi 2020.12.5 py38h578d9bd_1 conda-forge
chardet 4.0.0 pypi_0 pypi
cmake 3.19.4 h4547794_0 conda-forge
cudatoolkit 11.0.3 h15472ef_7 conda-forge
cudatoolkit-dev 10.1.243 h516909a_3 conda-forge
cudnn 8.0.5.39 ha5ca753_1 conda-forge
cmake 3.19.4 h3020d66_1 conda-forge
docutils 0.16 pypi_0 pypi
doxygen 1.9.1 hb166930_0 conda-forge
eigen 3.3.7 hc9558a2_1001 conda-forge
Expand Down Expand Up @@ -51,7 +48,7 @@ libedit 3.1.20191231 he28a2e2_2 conda-forge
libev 4.33 h516909a_1 conda-forge
libffi 3.3 h58526e2_2 conda-forge
libgcc-ng 9.3.0 h2828fa1_18 conda-forge
libglib 2.66.4 h748fe8e_2 conda-forge
libglib 2.66.6 h1f3bc88_3 conda-forge
libgomp 9.3.0 h2828fa1_18 conda-forge
libiconv 1.16 h516909a_0 conda-forge
libidn2 2.3.0 h516909a_0 conda-forge
Expand Down
49 changes: 34 additions & 15 deletions docs/sphinx/source/intro/build-options.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,31 +25,31 @@ environment by running the following commands **from the source directory**:

.. code:: bash

conda env create -f environment-cpu.yml # -cpu, -gpu, -cudnn
conda env create -f environment.yml
conda activate eddl

You can also update your environment with:

.. code:: bash

conda env update -f environment-cpu.yml # -cpu, -gpu, -cudnn
conda env update -f environment.yml

If you decide to manually install these dependencies in your system (make sure they are at standard paths):

.. code:: yaml

- cmake>=3.9.2
- cmake>=3.17.2
- eigen==3.3.7
- protobuf==3.11.4
- libprotobuf==3.11.4
- cudnn==8.0.5.39
- cudatoolkit-dev==10.1.243
- gtest
- graphviz
- wget
- doxygen
- python
- pip
- libprotobuf==3.11.4 # We need to avoid problems with paths (idk why)
- zlib==1.2.11
- openssl==1.1.1i
- gtest==1.10.0
- graphviz==2.42.3 # Build & Run
- wget==1.20.1
- doxygen==1.9.1 # Docs
- python==3.8.6
- pip==21.0.1
- pip:
- sphinx==3.2.1
- sphinx_rtd_theme==0.5.0
Expand Down Expand Up @@ -134,7 +134,7 @@ not found (or CUDA), the EDDL will automatically fallback to CPU.
Additional flags
^^^^^^^^^^^^^^^^^

These flags can enable/disable features of the EDDL so that you can optimized and
These flags can enable/disable features of the EDDL so that you can optimize and
troubleshoot the compilation process (see: :doc:`troubleshoot`).


Expand Down Expand Up @@ -181,8 +181,18 @@ troubleshoot the compilation process (see: :doc:`troubleshoot`).

.. note::

This flag is needed to known which CUDA Toolkit/cuDNN the user wants to use. By default cmake looks in the ``PATH``.
This flag is needed to known which CUDA Toolkit the user wants to use. By default cmake looks in the ``PATH``.

- **CUDNN ROOT DIR:**

.. code:: bash

--DCUDNN_ROOT_DIR=/path/to/cuda #/usr/local/cuda

.. note::

This flag is needed to known where to look for the cuDNN libraries. By default cuda is expected to be installed in
along with the CUDA toolkit.

- **CUDA host compiler:**

Expand Down Expand Up @@ -296,8 +306,17 @@ troubleshoot the compilation process (see: :doc:`troubleshoot`).
If you want to distribute the resulting shared library, you should use the flag
``-DBUILD_SUPERBUILD=ON`` so that we can make specific tunings to our dependencies.

- **Build distributed:** To let the EDDL work in a distributed mode, use the setting ``BUILD_DIST``:

.. code:: bash

-DBUILD_DIST=ON

.. note::

Enabled by default.


.. _Anaconda: https://docs.conda.io/en/latest/miniconda.html
.. _Eigen3: http://eigen.tuxfamily.org/index.php?title=Main_Page
.. _Requirements: https://github.com/deephealthproject/eddl/blob/develop/docs/markdown/bundle/requirements.txt
.. _Requirements: https://github.com/deephealthproject/eddl/blob/develop/docs/markdown/bundle/requirements.txt
Loading