Прежде чем я go предпринял шаги, я хотел бы поблагодарить @ Snow ie за их время и помощь в поиске решения. Я начал с бесплатной sh установки Ubuntu. 18.04 со следующими командами в терминале. Некоторые из этих установок не являются необходимыми, но сэкономят мне время позже.
sudo apt update
sudo ubuntu-drivers autoinstall
sudo apt-get install build essential
sudo apt-get install freeglut3 freeglut3-dev libxi-dev libxmu-dev
sudo apt install curl
sudo apt install software-properties-common
sudo apt install cmake
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install gcc-6 g++-6 gcc-7 g++-7 gcc-8 g++-8 gcc-9 g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave /usr/bin/g++ g++ /usr/bin/g++-8 --slave /usr/bin/gcov gcov /usr/bin/gcov-8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g++-7 --slave /usr/bin/gcov gcov /usr/bin/gcov-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 --slave /usr/bin/gcov gcov /usr/bin/gcov-6
Теперь я могу выбрать версию g cc, которую я хочу запустить:
sudo update-alternatives --config gcc
Существует 4 варианта альтернативы g cc ( Предоставление /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-9 90 auto mode
1 /usr/bin/gcc-6 60 manual mode
2 /usr/bin/gcc-7 70 manual mode
3 /usr/bin/gcc-8 80 manual mode
4 /usr/bin/gcc-9 90 manual mode
Press <enter> to keep the current choice[*], or type selection number:
В этом случае я выбираю 1, чтобы выбрать g cc -6
Теперь пришло время установить cuda-toolkit
sudo apt install nvidia-cuda-toolkit
Вы должны увидеть выходные данные с nvcc --version
аналогично
nvcc --version
nv cc: драйвер компилятора NVIDIA (C) Cuda Copyright (* 1057) *) Корпорация NVIDIA 2005-2017 гг., Построенная на Fri_Nov__3_21: 07: 56_CDT_2017 Инструменты компиляции Cuda, выпуск 9.1, V9.1.85
Теперь загрузите 3dDelaunay отсюда: «https://www.comp.nus.edu.sg/~tants/gdel3d_files/gDel3D-Release_271.zip»
Внутри /home/user/Documents/gFlip3D-Release_271/GDelFlipping/src/gDel3D/GpuDelaunay.cu вам нужно добавить «#include <thrust/gather.h>
»
Вот пример того, как это выглядит как:
#include "GpuDelaunay.h"
#include<iomanip>
#include<iostream>
#include "GPU/CudaWrapper.h"
#include "GPU/HostToKernel.h"
#include "GPU/KerCommon.h"
#include "GPU/KerPredicates.h"
#include "GPU/KerDivision.h"
#include "GPU/ThrustWrapper.h"
#include <thrust/gather.h>
Теперь вам нужно установить целевую вычислительную архитектуру. Моя видеокарта RTX 2070. Согласно nvidia моя вычислительная архитектура и вычислительные возможности составляют 7.5. Я пробовал эти цифры, и они не работали. Я подумал, что, возможно, поскольку версия cuda, с которой я закончил, была не 10.2, а 10.1, мне нужно было ориентироваться чуть меньше на мою архитектуру. Вместо этого я нацелился на вычислительные возможности 7.0 и вычислительную архитектуру.
Вот пример в файле CMakeLists.txt.
set(CUDA_NVCC_FLAGS
${CUDA_NVCC_FLAGS};
-gencode arch=compute_70,code=sm_70)
Теперь давайте go вперед и создаем папку сборки из папки gFlip3D-Release_271
mkdir build
cd build
cmake ..
make
И последний запуск ./gflip3d
Generating input... Constructing 3D Delaunay triangulation... Checking... V: 100001 E: 772552 F: 1345102 T: 672551 Euler: 0 Euler
check: Pass Orient check: Pass Adjacency check: Pass
Convex hull facets: 412
Delaunay check: Pass
---- SUMMARY ----
PointNum 100000 FP Mode Double
TotalTime (ms) 101.19 InitTime 139861894.77 SplitTime
5.20 FlipTime 68.93 RelocateTime 8.11 SortTime 1.05 OutTime 9.87 SplayingTime 3.65
# Flips 1422073
# Failed verts 109
# Final stars 243