From 551e57dc8ba8a9e13e9156846cd7b2bbfcbd3f54 Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Fri, 1 May 2020 09:49:40 +0200 Subject: [PATCH] fix linux make and add windows cygwin on github actions --- .github/workflows/ccpp.yml | 76 ++++++++++++++++++++++++-------------- Makefile | 10 ++--- README.md | 2 +- 3 files changed, 55 insertions(+), 33 deletions(-) diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index bdae8321..dc232003 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -24,6 +24,11 @@ jobs: sudo apt-get install -y --no-install-recommends cuda-compiler-10-2 cuda-libraries-dev-10-2 cuda-driver-dev-10-2 cuda-cudart-dev-10-2 cuda-curand-dev-10-2 sudo apt-get install -y --no-install-recommends libcudnn7-dev sudo ln -s /usr/local/cuda-10.2/lib64/stubs/libcuda.so /usr/local/cuda-10.2/lib64/stubs/libcuda.so.1 + sudo ln -s /usr/local/cuda-10.2/lib64/stubs/libcuda.so /usr/local/cuda-10.2/lib64/libcuda.so.1 + sudo ln -s /usr/local/cuda-10.2/lib64/stubs/libcuda.so /usr/local/cuda-10.2/lib64/libcuda.so + sudo ln -s /usr/local/cuda-10.2 /usr/local/cuda + export PATH=/usr/local/cuda/bin:$PATH + export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs:$LD_LIBRARY_PATH nvcc --version gcc --version @@ -45,14 +50,20 @@ jobs: make clean - name: 'LIBSO=1 GPU=1 CUDNN=1 OPENCV=1' run: | + export PATH=/usr/local/cuda/bin:$PATH + export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs:$LD_LIBRARY_PATH make LIBSO=1 GPU=1 CUDNN=1 OPENCV=1 -j 8 make clean - name: 'LIBSO=1 GPU=1 CUDNN=1 OPENCV=1 CUDNN_HALF=1' run: | + export PATH=/usr/local/cuda/bin:$PATH + export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs:$LD_LIBRARY_PATH make LIBSO=1 GPU=1 CUDNN=1 OPENCV=1 CUDNN_HALF=1 -j 8 make clean - name: 'LIBSO=1 GPU=1 CUDNN=1 OPENCV=1 CUDNN_HALF=1 USE_CPP=1' run: | + export PATH=/usr/local/cuda/bin:$PATH + export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs:$LD_LIBRARY_PATH make LIBSO=1 GPU=1 CUDNN=1 OPENCV=1 CUDNN_HALF=1 USE_CPP=1 -j 8 make clean @@ -163,7 +174,6 @@ jobs: - name: 'Install CUDA' env: - INSTALL_CUDA_VERSION: "10.2" CUDACXX: "/usr/local/cuda-10.2/bin/nvcc" CUDA_PATH: "/usr/local/cuda-10.2" CUDA_TOOLKIT_ROOT_DIR: "/usr/local/cuda-10.2" @@ -177,11 +187,10 @@ jobs: sudo apt update sudo apt-get install -y --no-install-recommends cuda-compiler-10-2 cuda-libraries-dev-10-2 cuda-driver-dev-10-2 cuda-cudart-dev-10-2 cuda-curand-dev-10-2 sudo apt-get install -y --no-install-recommends libcudnn7-dev - sudo ln -s /usr/local/cuda-${{ env.INSTALL_CUDA_VERSION }}/lib64/stubs/libcuda.so /usr/local/cuda-${{ env.INSTALL_CUDA_VERSION }}/lib64/stubs/libcuda.so.1 + sudo ln -s /usr/local/cuda-10.2/lib64/stubs/libcuda.so /usr/local/cuda-10.2/lib64/stubs/libcuda.so.1 - name: 'Build with CMake and Ninja' env: - INSTALL_CUDA_VERSION: "10.2" CUDACXX: "/usr/local/cuda-10.2/bin/nvcc" CUDA_PATH: "/usr/local/cuda-10.2" CUDA_TOOLKIT_ROOT_DIR: "/usr/local/cuda-10.2" @@ -198,19 +207,19 @@ jobs: - uses: actions/upload-artifact@v2 with: - name: darknet-${{ runner.os }} + name: darknet-cuda-${{ runner.os }} path: cfg - uses: actions/upload-artifact@v2 with: - name: darknet-${{ runner.os }} + name: darknet-cuda-${{ runner.os }} path: data - uses: actions/upload-artifact@v2 with: - name: darknet-${{ runner.os }} + name: darknet-cuda-${{ runner.os }} path: ${{ github.workspace }}/*dark* - uses: actions/upload-artifact@v2 with: - name: darknet-${{ runner.os }} + name: darknet-cuda-${{ runner.os }} path: ${{ github.workspace }}/uselib* @@ -383,7 +392,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: darknet-vcpkg-${{ runner.os }} - path: ${{ github.workspace }}/buildDirectory/*.dll + path: ${{ runner.workspace }}/buildDirectory/Release/*.dll - uses: actions/upload-artifact@v2 with: name: darknet-vcpkg-${{ runner.os }} @@ -406,7 +415,6 @@ jobs: - name: Restore from cache and run vcpkg env: vcpkgResponseFile: ${{ github.workspace }}/cmake/vcpkg_windows_cuda.diff - INSTALL_CUDA_VERSION: "10.2" CUDA_PATH: "C:\\Program\ Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2" CUDA_PATH_V10_2: "C:\\Program\ Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2" CUDA_TOOLKIT_ROOT_DIR: "C:\\Program\ Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2" @@ -421,7 +429,6 @@ jobs: - name: 'Build with CMake and Ninja' env: - INSTALL_CUDA_VERSION: "10.2" CUDA_PATH: "C:\\Program\ Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2" CUDA_PATH_V10_2: "C:\\Program\ Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2" CUDA_TOOLKIT_ROOT_DIR: "C:\\Program\ Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2" @@ -438,23 +445,23 @@ jobs: - uses: actions/upload-artifact@v2 with: - name: darknet-vcpkg-${{ runner.os }} + name: darknet-vcpkg-cuda-${{ runner.os }} path: cfg - uses: actions/upload-artifact@v2 with: - name: darknet-vcpkg-${{ runner.os }} + name: darknet-vcpkg-cuda-${{ runner.os }} path: data - uses: actions/upload-artifact@v2 with: - name: darknet-vcpkg-${{ runner.os }} + name: darknet-vcpkg-cuda-${{ runner.os }} path: ${{ github.workspace }}/*dark* - uses: actions/upload-artifact@v2 with: - name: darknet-vcpkg-${{ runner.os }} - path: ${{ runner.workspace }}/buildDirectory/*.dll + name: darknet-vcpkg-cuda-${{ runner.os }} + path: ${{ runner.workspace }}/buildDirectory/Release/*.dll - uses: actions/upload-artifact@v2 with: - name: darknet-vcpkg-${{ runner.os }} + name: darknet-vcpkg-cuda-${{ runner.os }} path: ${{ github.workspace }}/uselib* @@ -478,23 +485,23 @@ jobs: - uses: actions/upload-artifact@v2 with: - name: darknet-vcpkg-${{ runner.os }} + name: darknet-${{ runner.os }} path: cfg - uses: actions/upload-artifact@v2 with: - name: darknet-vcpkg-${{ runner.os }} + name: darknet-${{ runner.os }} path: data - uses: actions/upload-artifact@v2 with: - name: darknet-vcpkg-${{ runner.os }} + name: darknet-${{ runner.os }} path: ${{ github.workspace }}/*dark* - uses: actions/upload-artifact@v2 with: - name: darknet-vcpkg-${{ runner.os }} + name: darknet-${{ runner.os }} path: ${{ github.workspace }}/3rdparty/pthreads/bin/*.dll - uses: actions/upload-artifact@v2 with: - name: darknet-vcpkg-${{ runner.os }} + name: darknet-${{ runner.os }} path: ${{ github.workspace }}/uselib* @@ -532,7 +539,6 @@ jobs: - name: 'Build with CMake and Ninja' env: - INSTALL_CUDA_VERSION: "10.2" CUDA_PATH: "C:\\Program\ Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2" CUDA_PATH_V10_2: "C:\\Program\ Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2" CUDA_TOOLKIT_ROOT_DIR: "C:\\Program\ Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2" @@ -552,11 +558,6 @@ jobs: runs-on: windows-latest steps: - uses: actions/checkout@v2 - - name: fixPath - run: | - set PATH=%PATH:C:\Program Files\Git\bin;=% - set PATH=%PATH:C:\Program Files\Git\usr\bin;=% - shell: cmd - uses: lukka/get-cmake@latest @@ -570,3 +571,24 @@ jobs: cmakeAppendedArgs: "-G\"MinGW Makefiles\" -DCMAKE_BUILD_TYPE=Release" cmakeBuildType: 'Release' buildWithCMakeArgs: '--config Release --target install' + + + windows-cmake-cygwin: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + + - name: 'Install Cygwin' + run: | + choco install cygwin -y + choco install cyg-get -y + cyg-get gcc-g++ cmake make libopencv-devel libncurses-devel + + - name: 'Build' + run: | + mkdir buildDirectory + cd buildDirectory + path C:\tools\cygwin\bin + bash -c 'cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Release"' + bash -c 'cmake --build . --target install -- -j8' + shell: cmd diff --git a/Makefile b/Makefile index d4dd53f9..1d9d4422 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ ARCH= -gencode arch=compute_30,code=sm_30 \ -gencode arch=compute_35,code=sm_35 \ -gencode arch=compute_50,code=[sm_50,compute_50] \ -gencode arch=compute_52,code=[sm_52,compute_52] \ - -gencode arch=compute_61,code=[sm_61,compute_61] + -gencode arch=compute_61,code=[sm_61,compute_61] OS := $(shell uname) @@ -127,16 +127,16 @@ ifeq ($(ZED_CAMERA), 1) CFLAGS+= -DZED_STEREO -I/usr/local/zed/include ifeq ($(ZED_CAMERA_v2_8), 1) LDFLAGS+= -L/usr/local/zed/lib -lsl_core -lsl_input -lsl_zed -#-lstdc++ -D_GLIBCXX_USE_CXX11_ABI=0 +#-lstdc++ -D_GLIBCXX_USE_CXX11_ABI=0 else LDFLAGS+= -L/usr/local/zed/lib -lsl_zed -#-lstdc++ -D_GLIBCXX_USE_CXX11_ABI=0 +#-lstdc++ -D_GLIBCXX_USE_CXX11_ABI=0 endif endif OBJ=image_opencv.o http_stream.o gemm.o utils.o dark_cuda.o convolutional_layer.o list.o image.o activations.o im2col.o col2im.o blas.o crop_layer.o dropout_layer.o maxpool_layer.o softmax_layer.o data.o matrix.o network.o connected_layer.o cost_layer.o parser.o option_list.o darknet.o detection_layer.o captcha.o route_layer.o writing.o box.o nightmare.o normalization_layer.o avgpool_layer.o coco.o dice.o yolo.o detector.o layer.o compare.o classifier.o local_layer.o swag.o shortcut_layer.o activation_layer.o rnn_layer.o gru_layer.o rnn.o rnn_vid.o crnn_layer.o demo.o tag.o cifar.o go.o batchnorm_layer.o art.o region_layer.o reorg_layer.o reorg_old_layer.o super.o voxel.o tree.o yolo_layer.o gaussian_yolo_layer.o upsample_layer.o lstm_layer.o conv_lstm_layer.o scale_channels_layer.o sam_layer.o -ifeq ($(GPU), 1) -LDFLAGS+= -lstdc++ +ifeq ($(GPU), 1) +LDFLAGS+= -lstdc++ OBJ+=convolutional_kernels.o activation_kernels.o im2col_kernels.o col2im_kernels.o blas_kernels.o crop_layer_kernels.o dropout_layer_kernels.o maxpool_layer_kernels.o network_kernels.o avgpool_layer_kernels.o endif diff --git a/README.md b/README.md index cb14f148..d16119b3 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Paper Yolo v4: https://arxiv.org/abs/2004.10934 More details: http://pjreddie.com/darknet/yolo/ - +![Darknet Continuous Integration](https://github.com/AlexeyAB/darknet/workflows/Darknet%20Continuous%20Integration/badge.svg) [![CircleCI](https://circleci.com/gh/AlexeyAB/darknet.svg?style=svg)](https://circleci.com/gh/AlexeyAB/darknet) [![TravisCI](https://travis-ci.org/AlexeyAB/darknet.svg?branch=master)](https://travis-ci.org/AlexeyAB/darknet) [![AppveyorCI](https://ci.appveyor.com/api/projects/status/594bwb5uoc1fxwiu/branch/master?svg=true)](https://ci.appveyor.com/project/AlexeyAB/darknet/branch/master)