Skip to content
Snippets Groups Projects
Commit e4541dae authored by Olivier BICHLER's avatar Olivier BICHLER
Browse files

More builds

parent 7a16625d
No related branches found
No related tags found
No related merge requests found
Showing
with 169 additions and 38 deletions
...@@ -23,6 +23,98 @@ build:ubuntu_cpp: ...@@ -23,6 +23,98 @@ build:ubuntu_cpp:
- build_cpp/ - build_cpp/
- install_cpp/ - install_cpp/
build:ubuntu_cpp_g++10:
stage: build
needs: []
tags:
- docker
script:
# Download dependencies
# aidge_core
- 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5139/jobs/artifacts/main/download?job=build:ubuntu_cpp"'
- unzip -o build_artifacts.zip -d .
- rm -rf build_cpp
# Build current module
- export CMAKE_PREFIX_PATH=../install_cpp
- apt install -y g++-10
- mkdir -p build_cpp
- mkdir -p install_cpp
- cd build_cpp
- export CXX=/usr/bin/g++-10
- cmake -DCMAKE_INSTALL_PREFIX:PATH=../install_cpp -DCMAKE_BUILD_TYPE=Debug -DWERROR=ON -DCOVERAGE=ON ..
- make -j4 all install
build:ubuntu_cpp_g++12:
stage: build
needs: []
tags:
- docker
script:
# Download dependencies
# aidge_core
- 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5139/jobs/artifacts/main/download?job=build:ubuntu_cpp"'
- unzip -o build_artifacts.zip -d .
- rm -rf build_cpp
# Build current module
- export CMAKE_PREFIX_PATH=../install_cpp
- apt install -y g++-12
- mkdir -p build_cpp
- mkdir -p install_cpp
- cd build_cpp
- export CXX=/usr/bin/g++-12
- cmake -DCMAKE_INSTALL_PREFIX:PATH=../install_cpp -DCMAKE_BUILD_TYPE=Debug -DWERROR=ON -DCOVERAGE=ON ..
- make -j4 all install
build:ubuntu_cpp_clang12:
stage: build
needs: []
tags:
- docker
script:
# Download dependencies
# aidge_core
- 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5139/jobs/artifacts/main/download?job=build:ubuntu_cpp"'
- unzip -o build_artifacts.zip -d .
- rm -rf build_cpp
# Build current module
- export CMAKE_PREFIX_PATH=../install_cpp
- apt install -y clang-12
- mkdir -p build_cpp
- mkdir -p install_cpp
- cd build_cpp
- export CXX=/usr/bin/clang++-12
- cmake -DCMAKE_INSTALL_PREFIX:PATH=../install_cpp -DCMAKE_BUILD_TYPE=Debug -DWERROR=ON -DCOVERAGE=ON ..
- make -j4 all install
build:ubuntu_cpp_clang15:
stage: build
needs: []
tags:
- docker
script:
# Download dependencies
# aidge_core
- 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5139/jobs/artifacts/main/download?job=build:ubuntu_cpp"'
- unzip -o build_artifacts.zip -d .
- rm -rf build_cpp
# Build current module
- export CMAKE_PREFIX_PATH=../install_cpp
- apt install -y clang-15
- mkdir -p build_cpp
- mkdir -p install_cpp
- cd build_cpp
- export CXX=/usr/bin/clang++-15
- cmake -DCMAKE_INSTALL_PREFIX:PATH=../install_cpp -DCMAKE_BUILD_TYPE=Debug -DWERROR=ON -DCOVERAGE=ON ..
- make -j4 all install
build:ubuntu_python: build:ubuntu_python:
stage: build stage: build
needs: [] needs: []
...@@ -84,3 +176,42 @@ build:windows_cpp: ...@@ -84,3 +176,42 @@ build:windows_cpp:
paths: paths:
- build_cpp/ - build_cpp/
- install_cpp/ - install_cpp/
build:windows_python:
stage: build
needs: []
tags:
- windows
image: buildtools
before_script:
# Install Chocolatey
- Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# Install dependencies
- choco install cmake.install --installargs '"ADD_CMAKE_TO_PATH=System"' -Y
- choco install git -Y
- choco install python -Y
# Update PATH
- $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
script:
# Download dependencies
# aidge_core (CPP)
- 'curl "https://gitlab.eclipse.org/api/v4/projects/5139/jobs/artifacts/main/download?job=build:windows_cpp" -o build_artifacts.zip'
- Expand-Archive -Path .\build_artifacts.zip -DestinationPath . -Force
- Remove-Item .\build_cpp\ -Recurse
# aidge_core (Python)
- 'curl "https://gitlab.eclipse.org/api/v4/projects/5139/jobs/artifacts/main/download?job=build:windows_python" -o build_artifacts.zip'
- Expand-Archive -Path .\build_artifacts.zip -DestinationPath . -Force
- python -m pip install virtualenv
- virtualenv venv
- venv\Scripts\Activate.ps1
# Numpy dependancy for unit test
- python -m pip install numpy
- $env:AIDGE_INSTALL = "$pwd" + "install"
- $env:CMAKE_PREFIX_PATH = "../install_cpp"
- python -m pip install .
artifacts:
expire_in: 1 week
paths:
- venv/
...@@ -74,12 +74,12 @@ class AddImpl_cpu : public OperatorImpl { ...@@ -74,12 +74,12 @@ class AddImpl_cpu : public OperatorImpl {
return std::accumulate(inputDims.begin(), inputDims.end(), NbElts_t(1), std::multiplies<NbElts_t>()); return std::accumulate(inputDims.begin(), inputDims.end(), NbElts_t(1), std::multiplies<NbElts_t>());
} }
NbElts_t getNbRequiredProtected(const IOIndex_t inputIdx) const override final { NbElts_t getNbRequiredProtected(const IOIndex_t /*inputIdx*/) const override final {
// for the direct convolution algorithm, convolutions can be in-place, if there is no padding! // for the direct convolution algorithm, convolutions can be in-place, if there is no padding!
return 0; return 0;
} }
NbElts_t getRequiredMemory(const IOIndex_t outputIdx, const std::vector<DimSize_t>& inputsSize) const override final { NbElts_t getRequiredMemory(const IOIndex_t outputIdx, const std::vector<DimSize_t>& /*inputsSize*/) const override final {
// Requires the whole tensors, regardless of available data on inputs // Requires the whole tensors, regardless of available data on inputs
assert(outputIdx == 0 && "operator has only one output"); assert(outputIdx == 0 && "operator has only one output");
(void) outputIdx; (void) outputIdx;
...@@ -99,11 +99,11 @@ class AddImpl_cpu : public OperatorImpl { ...@@ -99,11 +99,11 @@ class AddImpl_cpu : public OperatorImpl {
} }
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward() { void forward() override {
// nothing // nothing
} }
void backward() { printf("Not implemented yet.\n"); } void backward() override { printf("Not implemented yet.\n"); }
}; };
template <> template <>
...@@ -133,9 +133,9 @@ class AddImpl_cpu<1> : public OperatorImpl { ...@@ -133,9 +133,9 @@ class AddImpl_cpu<1> : public OperatorImpl {
NbElts_t getNbProducedData(const IOIndex_t /*outputIdx*/) const override final; NbElts_t getNbProducedData(const IOIndex_t /*outputIdx*/) const override final;
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
template <> template <>
...@@ -165,9 +165,9 @@ class AddImpl_cpu<2> : public OperatorImpl { ...@@ -165,9 +165,9 @@ class AddImpl_cpu<2> : public OperatorImpl {
NbElts_t getNbProducedData(const IOIndex_t /*outputIdx*/) const override final; NbElts_t getNbProducedData(const IOIndex_t /*outputIdx*/) const override final;
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
template <> template <>
...@@ -196,9 +196,9 @@ class AddImpl_cpu<3> : public OperatorImpl { ...@@ -196,9 +196,9 @@ class AddImpl_cpu<3> : public OperatorImpl {
NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final; NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final;
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
namespace { namespace {
......
...@@ -56,9 +56,9 @@ class AvgPoolingImpl2D_cpu : public OperatorImpl { ...@@ -56,9 +56,9 @@ class AvgPoolingImpl2D_cpu : public OperatorImpl {
NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final; NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final;
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
namespace { namespace {
......
...@@ -71,9 +71,9 @@ class BatchNormImpl2D_cpu : public OperatorImpl { ...@@ -71,9 +71,9 @@ class BatchNormImpl2D_cpu : public OperatorImpl {
NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final; NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final;
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
namespace { namespace {
......
...@@ -58,9 +58,9 @@ class ConvDepthWiseImpl2D_cpu : public OperatorImpl { ...@@ -58,9 +58,9 @@ class ConvDepthWiseImpl2D_cpu : public OperatorImpl {
NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final; NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final;
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
namespace { namespace {
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* *
********************************************************************************/ ********************************************************************************/
#ifndef AIDGE_CPU_OPERATOR_CONVDEPTHWISEIMP_FORWARD_KERNEL_H_ #ifndef AIDGE_CPU_OPERATOR_CONVDEPTHWISEIMPL_FORWARD_KERNEL_H_
#define AIDGE_CPU_OPERATOR_CONVDEPTHWISEIMPL_FORWARD_KERNEL_H_ #define AIDGE_CPU_OPERATOR_CONVDEPTHWISEIMPL_FORWARD_KERNEL_H_
#include "aidge/utils/Registrar.hpp" #include "aidge/utils/Registrar.hpp"
......
...@@ -58,9 +58,9 @@ class ConvImpl2D_cpu : public OperatorImpl { ...@@ -58,9 +58,9 @@ class ConvImpl2D_cpu : public OperatorImpl {
NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final; NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final;
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
namespace { namespace {
......
...@@ -51,9 +51,9 @@ class FCImpl_cpu : public OperatorImpl { ...@@ -51,9 +51,9 @@ class FCImpl_cpu : public OperatorImpl {
NbElts_t getNbConsumedData(const IOIndex_t inputIdx) const override final; NbElts_t getNbConsumedData(const IOIndex_t inputIdx) const override final;
NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final; NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final;
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
namespace { namespace {
......
...@@ -50,9 +50,9 @@ class LeakyReLUImpl_cpu : public OperatorImpl { ...@@ -50,9 +50,9 @@ class LeakyReLUImpl_cpu : public OperatorImpl {
NbElts_t getNbConsumedData(const IOIndex_t inputIdx) const override final; NbElts_t getNbConsumedData(const IOIndex_t inputIdx) const override final;
NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final; NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final;
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
namespace { namespace {
......
...@@ -64,8 +64,8 @@ public: ...@@ -64,8 +64,8 @@ public:
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
namespace { namespace {
......
...@@ -56,9 +56,9 @@ class MaxPoolingImpl2D_cpu : public OperatorImpl { ...@@ -56,9 +56,9 @@ class MaxPoolingImpl2D_cpu : public OperatorImpl {
NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final; NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final;
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
namespace { namespace {
......
...@@ -39,9 +39,9 @@ class ProducerImpl_cpu : public OperatorImpl { ...@@ -39,9 +39,9 @@ class ProducerImpl_cpu : public OperatorImpl {
NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final; NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final;
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
namespace { namespace {
......
...@@ -50,9 +50,9 @@ class ReLUImpl_cpu : public OperatorImpl { ...@@ -50,9 +50,9 @@ class ReLUImpl_cpu : public OperatorImpl {
NbElts_t getNbConsumedData(const IOIndex_t inputIdx) const override final; NbElts_t getNbConsumedData(const IOIndex_t inputIdx) const override final;
NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final; NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final;
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
namespace { namespace {
......
...@@ -54,9 +54,9 @@ class ScalingImpl_cpu : public OperatorImpl { ...@@ -54,9 +54,9 @@ class ScalingImpl_cpu : public OperatorImpl {
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
namespace { namespace {
......
...@@ -50,9 +50,9 @@ class SoftmaxImpl_cpu : public OperatorImpl { ...@@ -50,9 +50,9 @@ class SoftmaxImpl_cpu : public OperatorImpl {
NbElts_t getNbConsumedData(const IOIndex_t inputIdx) const override final; NbElts_t getNbConsumedData(const IOIndex_t inputIdx) const override final;
NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final; NbElts_t getNbProducedData(const IOIndex_t outputIdx) const override final;
void updateConsummerProducer() override final; void updateConsummerProducer() override final;
void forward(); void forward() override;
void backward(); void backward() override;
}; };
namespace { namespace {
......
...@@ -70,7 +70,8 @@ class CMakeBuild(build_ext): ...@@ -70,7 +70,8 @@ class CMakeBuild(build_ext):
self.spawn(['cmake', str(cwd), param_py, '-DTEST=OFF', f'-DCMAKE_INSTALL_PREFIX:PATH={install_path}']) self.spawn(['cmake', str(cwd), param_py, '-DTEST=OFF', f'-DCMAKE_INSTALL_PREFIX:PATH={install_path}'])
if not self.dry_run: if not self.dry_run:
self.spawn(['make', 'all', 'install', '-j', max_jobs]) self.spawn(['cmake', '--build', '.', '--config', 'Debug', '-j', max_jobs])
self.spawn(['cmake', '--install', '.', '--config', 'Debug'])
os.chdir(str(cwd)) os.chdir(str(cwd))
aidge_package = build_lib / (get_project_name()) aidge_package = build_lib / (get_project_name())
...@@ -81,7 +82,7 @@ class CMakeBuild(build_ext): ...@@ -81,7 +82,7 @@ class CMakeBuild(build_ext):
# Copy all shared object files from build_temp/lib to aidge_package # Copy all shared object files from build_temp/lib to aidge_package
for root, _, files in os.walk(build_temp.absolute()): for root, _, files in os.walk(build_temp.absolute()):
for file in files: for file in files:
if file.endswith('.so') and (root != str(aidge_package.absolute())): if (file.endswith('.so') or file.endswith('.pyd')) and (root != str(aidge_package.absolute())):
currentFile=os.path.join(root, file) currentFile=os.path.join(root, file)
shutil.copy(currentFile, str(aidge_package.absolute())) shutil.copy(currentFile, str(aidge_package.absolute()))
...@@ -100,7 +101,6 @@ if __name__ == '__main__': ...@@ -100,7 +101,6 @@ if __name__ == '__main__':
long_description_content_type="text/markdown", long_description_content_type="text/markdown",
long_description="\n".join(DOCLINES[2:]), long_description="\n".join(DOCLINES[2:]),
classifiers=[c for c in CLASSIFIERS.split('\n') if c], classifiers=[c for c in CLASSIFIERS.split('\n') if c],
platforms=["Linux"],
packages=find_packages(where="."), packages=find_packages(where="."),
include_package_data=True, include_package_data=True,
ext_modules=[CMakeExtension(get_project_name())], ext_modules=[CMakeExtension(get_project_name())],
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment