Also versuche ich, den K80 unter Ubuntu 14.04 mit Cuda anstelle des OpenCL-Kaufs unter Verwendung von https://github.com/Genoil/cpp-ethereum Miner zum Laufen zu bringen. Ich habe die Anweisungen für Ubuntu 14.04 und Cuda befolgt und die Schritte mehrmals befolgt, kann Cuda jetzt jedoch nicht zum Laufen bringen. Hier ist ein Ausdruck von 'Nvidia-smi'
> Fri Jun 2 09:16:29 2017
> +-----------------------------------------------------------------------------+
> | NVIDIA-SMI 375.26 Driver Version: 375.26 |
> |-------------------------------+----------------------+----------------------+
> | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
> | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
> |===============================+======================+======================|
> | 0 Tesla K80 Off | 0000:00:1E.0 Off | 0 |
> | N/A 79C P0 147W / 149W | 2097MiB / 11439MiB | 100% Default |
> +-------------------------------+----------------------+----------------------+
>
> +-----------------------------------------------------------------------------+
> | Processes: GPU Memory |
> | GPU PID Type Process name Usage |
> |=============================================================================|
> | 0 15713 C ethminer 2097MiB |
> +-----------------------------------------------------------------------------+
>
Ich habe gelesen, dass der k80 2 Prozessorsätze hat, es hat 24 GB RAM in 2 * 12 GB, Sie können nur den 1 des Prozessors oben sehen.
Ich habe cpp-ethereum heruntergeladen und der Readme-Datei gefolgt. Ich habe CMake noch nie zuvor verwendet, aber hier ist die Ausgabe
derp@derp:~/cpp-ethereum/build# cmake -DBUNDLE=cudaminer ..
-- ctest path: /usr/bin/ctest
- CryptoPP header: /usr/include
- CryptoPP lib : /usr/lib/libcryptopp.so
- LevelDB header: /usr/include
- LevelDB lib: /usr/lib/x86_64-linux-gnu/libleveldb.so
- Jsoncpp header: /usr/include/jsoncpp
- Jsoncpp lib : /usr/lib/x86_64-linux-gnu/libjsoncpp.so
- json-rpc-cpp header: /usr/include
- json-rpc-cpp lib : /usr/lib/libjsonrpccpp-common.so;/usr/lib/libjsonrpccpp-server.so;/usr/lib/libjsonrpccpp-client.so
- microhttpd header: /usr/include
- microhttpd lib : /usr/lib/x86_64-linux-gnu/libmicrohttpd.so
- microhttpd dll :
- readline header: /usr/include
- readline lib : /usr/lib/x86_64-linux-gnu/libreadline.so
-- Could NOT find miniupnpc (missing: MINIUPNPC_INCLUDE_DIR MINIUPNPC_LIBRARY)
- gmp header: /usr/include/x86_64-linux-gnu
- gmp lib : /usr/lib/x86_64-linux-gnu/libgmp.so
- curl header: /usr/include
- curl lib : /usr/lib/x86_64-linux-gnu/libcurl.so
-- Could NOT find cpuid (missing: CPUID_INCLUDE_DIR CPUID_LIBRARY)
- opencl header: /usr/include
- opencl lib : /usr/lib/x86_64-linux-gnu/libOpenCL.so
- CUDA header: /usr/local/cuda/include
- CUDA lib : /usr/local/cuda/lib64/libcudart.so
- jsonrpcstub location : /usr/bin/jsonrpcstub
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- thread
-- date_time
-- system
-- regex
-- chrono
-- filesystem
-- unit_test_framework
-- program_options
-- random
- boost header: /usr/include
- boost lib : /usr/lib/x86_64-linux-gnu/libboost_thread.so;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;/usr/lib/x86_64-linux-gnu/libboost_system.so;/usr/lib/x86_64-linux-gnu/libboost_regex.so;/usr/lib/x86_64-linux-gnu/libboost_chrono.so;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;/usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so;/usr/lib/x86_64-linux-gnu/libboost_program_options.so;/usr/lib/x86_64-linux-gnu/libboost_random.so;/usr/lib/x86_64-linux-gnu/libpthread.so
------------------------------------------------------------------------
-- CMake Version 3.2.2
-- CMAKE_BUILD_TYPE Build type Release
-- TARGET_PLATFORM Target platform Linux
-- BUNDLE Build bundle cudaminer
--------------------------------------------------------------- features
-- Chromium support 1
-- Hardware identification support FALSE
-- HTTP Request support TRUE
-- VMTRACE VM execution tracing OFF
-- PROFILING Profiling support OFF
-- FATDB Full database exploring
-- JSONRPC JSON-RPC support ON
-- OLYMPIC Default to the Olympic network OFF
------------------------------------------------------------- components
-- MINER Build miner ON
-- GUI Build GUI components OFF
-- ETHASHCL Build OpenCL components ON
-- ETHASHCUDA Build CUDA components ON
-- ETHSTRATUM Build Stratum components ON
------------------------------------------------------------------------
-- CXXFLAGS: -std=c++11 -Wall -Wno-unknown-pragmas -Wextra -Wno-error=parentheses -pedantic -DSHAREDLIB -fPIC -fuse-ld=gold
creating build info...
createBuildInfo()
-- Configuring done
CMake Warning at libethcore/CMakeLists.txt:21 (add_library):
Cannot generate a safe runtime search path for target ethcore because files
in some directories may conflict with libraries in implicit directories:
runtime library [libOpenCL.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
/usr/local/cuda/lib64
Some of these libraries may not be found correctly.
CMake Warning at ethminer/CMakeLists.txt:22 (add_executable):
Cannot generate a safe runtime search path for target ethminer because
files in some directories may conflict with libraries in implicit
directories:
runtime library [libOpenCL.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
/usr/local/cuda/lib64
Some of these libraries may not be found correctly.
-- Generating done
-- Build files have been written to: /root/cpp-ethereum/build
Aber es treten keine Unterbrechungen oder Fehler auf, also führe ich make -j8 aus, dies ist die Ausgabe.
derp@derp:~/cpp-ethereum/build# make -j8
Scanning dependencies of target ethstratum
Scanning dependencies of target ethash
Scanning dependencies of target devcore
Scanning dependencies of target BuildInfo.h
[ 2%] [ 4%] [ 7%] [ 9%] [ 11%] [ 14%] Building C object libethash/CMakeFiles/ethash.dir/internal.c.o
Building CXX object libstratum/CMakeFiles/ethstratum.dir/EthStratumClientV2.cpp.o
Building C object libethash/CMakeFiles/ethash.dir/io_posix.c.o
Building C object libethash/CMakeFiles/ethash.dir/io.c.o
Building CXX object libethash/CMakeFiles/ethash.dir/sha3_cryptopp.cpp.o
[ 16%] Building CXX object libstratum/CMakeFiles/ethstratum.dir/EthStratumClient.cpp.o
Building CXX object libdevcore/CMakeFiles/devcore.dir/StructuredLogger.cpp.o
Files "/root/cpp-ethereum/build/BuildInfo.h.tmp" to "/root/cpp-ethereum/build/BuildInfo.h" are different.
[ 16%] Built target BuildInfo.h
[ 19%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Guards.cpp.o
[ 21%] [ 23%] Building CXX object libdevcore/CMakeFiles/devcore.dir/TrieCommon.cpp.o
Building CXX object libdevcore/CMakeFiles/devcore.dir/RLP.cpp.o
[ 26%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Log.cpp.o
Linking CXX shared library libethash.so
[ 26%] Built target ethash
[ 28%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Common.cpp.o
[ 30%] Building CXX object libdevcore/CMakeFiles/devcore.dir/FixedHash.cpp.o
[ 33%] Building CXX object libdevcore/CMakeFiles/devcore.dir/FileSystem.cpp.o
/root/cpp-ethereum/libstratum/EthStratumClientV2.cpp: In member function 'void EthStratumClientV2::processReponse(Json::Value&)':
/root/cpp-ethereum/libstratum/EthStratumClientV2.cpp:350:12: warning: variable 'headerHash' set but not used [-Wunused-but-set-variable]
h256 headerHash = h256(sHeaderHash);
^
/root/cpp-ethereum/libstratum/EthStratumClient.cpp: In member function 'void EthStratumClient::processReponse(Json::Value&)':
/root/cpp-ethereum/libstratum/EthStratumClient.cpp:398:12: warning: variable 'headerHash' set but not used [-Wunused-but-set-variable]
h256 headerHash = h256(sHeaderHash);
^
[ 35%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Hash.cpp.o
[ 38%] Building CXX object libdevcore/CMakeFiles/devcore.dir/SHA3.cpp.o
[ 40%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Base64.cpp.o
[ 42%] Building CXX object libdevcore/CMakeFiles/devcore.dir/CommonJS.cpp.o
[ 45%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Worker.cpp.o
[ 47%] Building CXX object libdevcore/CMakeFiles/devcore.dir/RangeMask.cpp.o
[ 50%] Building CXX object libdevcore/CMakeFiles/devcore.dir/TrieDB.cpp.o
[ 52%] Building CXX object libdevcore/CMakeFiles/devcore.dir/TransientDirectory.cpp.o
[ 54%] Building CXX object libdevcore/CMakeFiles/devcore.dir/MemoryDB.cpp.o
[ 57%] Building CXX object libdevcore/CMakeFiles/devcore.dir/CommonIO.cpp.o
[ 59%] Building CXX object libdevcore/CMakeFiles/devcore.dir/TrieHash.cpp.o
[ 61%] Building CXX object libdevcore/CMakeFiles/devcore.dir/CommonData.cpp.o
Linking CXX shared library libethstratum.so
[ 61%] Built target ethstratum
[ 64%] Generating OpenCL Kernel Byte Array
Scanning dependencies of target ethash-cl
[ 66%] Building CXX object libethash-cl/CMakeFiles/ethash-cl.dir/ethash_cl_miner.cpp.o
[ 69%] Building NVCC (Device) object libethash-cuda/CMakeFiles/ethash-cuda.dir/ethash-cuda_generated_ethash_cuda_miner_kernel.cu.o
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
Linking CXX shared library libethash-cl.so
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
[ 69%] Built target ethash-cl
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h(432): error: identifier "nullptr" is undefined
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h(432): error: expected a ";"
/usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h(190): error: expected a ";"
/usr/include/c++/4.8/exception(63): error: expected a ";"
/usr/include/c++/4.8/exception(68): error: expected a ";"
/usr/include/c++/4.8/exception(76): error: expected a ";"
/usr/include/c++/4.8/exception(83): error: expected a ";"
/usr/include/c++/4.8/exception(93): error: expected a "{"
/usr/include/c++/4.8/bits/exception_ptr.h(64): error: function "std::current_exception" returns incomplete type "std::__exception_ptr::exception_ptr"
/usr/include/c++/4.8/bits/exception_ptr.h(64): error: expected a "{"
/usr/include/c++/4.8/bits/exception_ptr.h(79): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(81): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(82): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(84): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(86): error: declaration is incompatible with previous "std::current_exception"
(64): here
/usr/include/c++/4.8/bits/exception_ptr.h(86): error: use of a local type to declare a function
/usr/include/c++/4.8/bits/exception_ptr.h(86): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(87): error: use of a local type to declare a function
/usr/include/c++/4.8/bits/exception_ptr.h(90): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(92): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(95): error: incomplete type is not allowed
/usr/include/c++/4.8/bits/exception_ptr.h(95): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(116): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(126): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(143): error: use of a local type to declare a function
/usr/include/c++/4.8/bits/exception_ptr.h(144): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(147): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(152): error: use of a local type to declare a function
/usr/include/c++/4.8/bits/exception_ptr.h(153): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(156): error: use of a local type to declare a function
/usr/include/c++/4.8/bits/exception_ptr.h(157): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(160): error: use of a local type to declare a function
/usr/include/c++/4.8/bits/exception_ptr.h(161): error: expected a ";"
/usr/include/c++/4.8/bits/exception_ptr.h(169): error: expected a ";"
/usr/include/c++/4.8/bits/nested_exception.h(57): error: incomplete type is not allowed
/usr/include/c++/4.8/bits/nested_exception.h(60): error: expected a ";"
/usr/include/c++/4.8/bits/nested_exception.h(66): error: expected a ";"
/usr/include/c++/4.8/bits/nested_exception.h(70): error: identifier "rethrow_exception" is undefined
/usr/include/c++/4.8/bits/nested_exception.h(73): error: function "std::nested_exception::nested_ptr" returns incomplete type "std::__exception_ptr::exception_ptr"
/usr/include/c++/4.8/new(95): error: expected a "{"
/usr/include/c++/4.8/new(110): error: identifier "__p" is undefined
/usr/include/c++/4.8/new(111): error: expected a "{"
/usr/include/c++/4.8/new(115): error: expected a "{"
/usr/include/c++/4.8/new(116): error: expected a "{"
/usr/include/c++/4.8/bits/cpp_type_traits.h(184): error: identifier "char16_t" is undefined
/usr/include/c++/4.8/bits/cpp_type_traits.h(191): error: identifier "char32_t" is undefined
/usr/include/c++/4.8/bits/cpp_type_traits.h(191): error: class "std::__is_integer<<error-type>>" has already been defined
/usr/include/c++/4.8/bits/cpp_type_traits.h(314): error: namespace "std::__gnu_cxx" has no member "__normal_iterator"
/usr/include/c++/4.8/bits/cpp_type_traits.h(314): error: expected a ">"
/usr/include/c++/4.8/cmath(80): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(80): error: expected a ";"
/usr/include/c++/4.8/cmath(105): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(105): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(105): error: expected a ";"
/usr/include/c++/4.8/cmath(124): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(124): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(124): error: expected a ";"
/usr/include/c++/4.8/cmath(143): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(143): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(143): error: expected a ";"
/usr/include/c++/4.8/cmath(162): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(162): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(162): error: expected a ";"
/usr/include/c++/4.8/cmath(183): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(183): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(183): error: expected a ";"
/usr/include/c++/4.8/cmath(202): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(202): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(202): error: expected a ";"
/usr/include/c++/4.8/cmath(221): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(221): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(221): error: expected a ";"
/usr/include/c++/4.8/cmath(240): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(240): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(240): error: expected a ";"
/usr/include/c++/4.8/cmath(259): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(259): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(259): error: expected a ";"
/usr/include/c++/4.8/cmath(278): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(278): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(278): error: expected a ";"
/usr/include/c++/4.8/cmath(297): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(297): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(297): error: expected a ";"
/usr/include/c++/4.8/cmath(328): error: "constexpr" is not a function or static data member
/usr/include/c++/4.8/cmath(337): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(337): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(337): error: expected a ";"
/usr/include/c++/4.8/cmath(356): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(356): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(356): error: expected a ";"
/usr/include/c++/4.8/cmath(375): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(375): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(375): error: expected a ";"
/usr/include/c++/4.8/cmath(406): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(406): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(406): error: expected a ";"
/usr/include/c++/4.8/cmath(443): error: inline specifier allowed on function declarations only
/usr/include/c++/4.8/cmath(443): error: variable "std::constexpr" has already been defined
/usr/include/c++/4.8/cmath(443): error: expected a ";"
Error limit reached.
100 errors detected in the compilation of "/tmp/tmpxft_00006f93_00000000-17_ethash_cuda_miner_kernel.compute_61.cpp1.ii".
Compilation terminated.
CMake Error at ethash-cuda_generated_ethash_cuda_miner_kernel.cu.o.cmake:264 (message):
Error generating file
/root/cpp-ethereum/build/libethash-cuda/CMakeFiles/ethash-cuda.dir//./ethash-cuda_generated_ethash_cuda_miner_kernel.cu.o
make[2]: *** [libethash-cuda/CMakeFiles/ethash-cuda.dir/ethash-cuda_generated_ethash_cuda_miner_kernel.cu.o] Error 1
make[1]: *** [libethash-cuda/CMakeFiles/ethash-cuda.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Linking CXX shared library libdevcore.so
[ 69%] Built target devcore
make: *** [all] Error 2
Was mache ich falsch?
Vielen Dank
Auch ich bin verwirrt durch diesen Schritt, "sudo apt-get https://github.com/Genoil/cpp-ethereum/blob/master/README.md -y install software-properties-common" apt-get dann a git Repository, was versucht man hier zu erreichen?
Dies wurde von jemandem verursacht, der versuchte, die Kompatibilität mit Fedora zum Laufen zu bringen. fügen --std=c++11
Sie die NVCC-Flags in CMakelists.txt im Ordner libethash-cuda hinzu
Sie müssen also tatsächlich einige Änderungen an der geklonten Quelle vornehmen.
herunterladen:
git clone https://github.com/Genoil/cpp-ethereum.git
cd cpp-ethereum/libethash-cuda
vim CMakeLists.txt
Wechsel von
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};--disable-warnings;--ptxas-options=-v;-use_fast_math;-lineinfo)
Durch Hinzufügen von --std=c++11; :
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};--std=c++11;--disable-warnings;--ptxas-options=-v;-use_fast_math;-lineinfo)
Weitere Details finden Sie unter https://blog.konpat.me/ethereum-cuda-mining-with-nvidia-docker/