2014-11-13 13:11:43 +00:00
|
|
|
# allow to use Host cuda functions in C/C++
|
|
|
|
DEF_INCLUDES = @CUDA_INCLUDES@
|
2014-04-26 23:26:08 +00:00
|
|
|
|
|
|
|
if WANT_JANSSON
|
|
|
|
JANSSON_INCLUDES= -I$(top_srcdir)/compat/jansson
|
2014-12-20 11:47:33 +00:00
|
|
|
else
|
|
|
|
JANSSON_INCLUDES=
|
2014-04-26 23:26:08 +00:00
|
|
|
endif
|
|
|
|
|
2015-04-14 19:57:01 +00:00
|
|
|
EXTRA_DIST = autogen.sh README.md README.txt LICENSE.txt \
|
|
|
|
ccminer.sln ccminer.vcxproj ccminer.vcxproj.filters \
|
2016-05-26 04:00:48 +00:00
|
|
|
compat/gettimeofday.c compat/getopt/getopt_long.c
|
2014-04-26 23:26:08 +00:00
|
|
|
|
2014-12-06 08:18:19 +00:00
|
|
|
SUBDIRS = compat
|
2014-04-26 23:26:08 +00:00
|
|
|
|
2014-12-06 08:18:19 +00:00
|
|
|
bin_PROGRAMS = ccminer
|
2014-04-26 23:26:08 +00:00
|
|
|
|
2014-12-06 08:18:19 +00:00
|
|
|
ccminer_SOURCES = elist.h miner.h compat.h \
|
2014-04-26 23:26:08 +00:00
|
|
|
compat/inttypes.h compat/stdbool.h compat/unistd.h \
|
|
|
|
compat/sys/time.h compat/getopt/getopt.h \
|
2015-04-18 06:08:23 +00:00
|
|
|
crc32.c hefty1.c \
|
2015-10-10 18:18:00 +00:00
|
|
|
ccminer.cpp pools.cpp util.cpp bench.cpp bignum.cpp \
|
2014-11-28 19:15:41 +00:00
|
|
|
api.cpp hashlog.cpp nvml.cpp stats.cpp sysinfos.cpp cuda.cpp \
|
2014-05-03 19:01:50 +00:00
|
|
|
heavy/heavy.cu \
|
|
|
|
heavy/cuda_blake512.cu heavy/cuda_blake512.h \
|
|
|
|
heavy/cuda_combine.cu heavy/cuda_combine.h \
|
|
|
|
heavy/cuda_groestl512.cu heavy/cuda_groestl512.h \
|
|
|
|
heavy/cuda_hefty1.cu heavy/cuda_hefty1.h \
|
|
|
|
heavy/cuda_keccak512.cu heavy/cuda_keccak512.h \
|
|
|
|
heavy/cuda_sha256.cu heavy/cuda_sha256.h \
|
2014-12-06 08:18:19 +00:00
|
|
|
fuguecoin.cpp Algo256/cuda_fugue256.cu sph/fugue.c uint256.h \
|
2014-04-26 23:26:08 +00:00
|
|
|
groestlcoin.cpp cuda_groestlcoin.cu cuda_groestlcoin.h \
|
2014-05-08 07:25:37 +00:00
|
|
|
myriadgroestl.cpp cuda_myriadgroestl.cu \
|
2014-12-06 08:18:19 +00:00
|
|
|
lyra2/Lyra2.c lyra2/Sponge.c \
|
|
|
|
lyra2/lyra2RE.cu lyra2/cuda_lyra2.cu \
|
2015-08-18 07:27:11 +00:00
|
|
|
lyra2/lyra2REv2.cu lyra2/cuda_lyra2v2.cu \
|
|
|
|
Algo256/cuda_bmw256.cu Algo256/cuda_cubehash256.cu \
|
2014-12-06 08:18:19 +00:00
|
|
|
Algo256/cuda_blake256.cu Algo256/cuda_groestl256.cu Algo256/cuda_keccak256.cu Algo256/cuda_skein256.cu \
|
2016-02-18 08:19:25 +00:00
|
|
|
Algo256/blake256.cu Algo256/decred.cu Algo256/vanilla.cu Algo256/keccak256.cu \
|
2016-03-09 22:58:47 +00:00
|
|
|
Algo256/blake2s.cu sph/blake2s.c \
|
2015-08-22 13:01:51 +00:00
|
|
|
Algo256/bmw.cu Algo256/cuda_bmw.cu \
|
2016-12-21 19:18:30 +00:00
|
|
|
crypto/xmr-rpc.cpp crypto/wildkeccak-cpu.cpp crypto/wildkeccak.cu \
|
2017-01-09 01:50:02 +00:00
|
|
|
crypto/cryptolight.cu crypto/cryptolight-core.cu crypto/cryptolight-cpu.cpp \
|
|
|
|
crypto/cryptonight.cu crypto/cryptonight-core.cu crypto/cryptonight-extra.cu \
|
2017-01-06 10:00:56 +00:00
|
|
|
crypto/cryptonight-cpu.cpp crypto/oaes_lib.cpp crypto/aesb.cpp crypto/cpu/c_keccak.c \
|
2014-05-01 06:36:56 +00:00
|
|
|
JHA/jackpotcoin.cu JHA/cuda_jha_keccak512.cu \
|
2014-09-09 21:04:32 +00:00
|
|
|
JHA/cuda_jha_compactionTest.cu cuda_checkhash.cu \
|
2014-05-01 06:36:56 +00:00
|
|
|
quark/cuda_jh512.cu quark/cuda_quark_blake512.cu quark/cuda_quark_groestl512.cu quark/cuda_skein512.cu \
|
2014-09-09 19:56:25 +00:00
|
|
|
quark/cuda_bmw512.cu quark/cuda_quark_keccak512.cu \
|
2016-09-26 22:53:56 +00:00
|
|
|
quark/nist5.cu \
|
2015-08-22 10:33:32 +00:00
|
|
|
quark/quarkcoin.cu quark/cuda_quark_compactionTest.cu \
|
2015-05-05 11:41:32 +00:00
|
|
|
neoscrypt/neoscrypt.cpp neoscrypt/neoscrypt-cpu.c neoscrypt/cuda_neoscrypt.cu \
|
2016-09-26 22:53:56 +00:00
|
|
|
pentablake.cu skein.cu cuda_skeincoin.cu skein2.cpp zr5.cu \
|
2016-09-27 22:49:43 +00:00
|
|
|
sia/sia.cu sia/sia-rpc.cpp sph/blake2b.c \
|
2014-08-22 23:57:12 +00:00
|
|
|
sph/bmw.c sph/blake.c sph/groestl.c sph/jh.c sph/keccak.c sph/skein.c \
|
|
|
|
sph/cubehash.c sph/echo.c sph/luffa.c sph/sha2.c sph/shavite.c sph/simd.c \
|
2015-12-31 05:03:16 +00:00
|
|
|
sph/hamsi.c sph/hamsi_helper.c sph/streebog.c \
|
2014-08-23 16:18:24 +00:00
|
|
|
sph/shabal.c sph/whirlpool.c sph/sha2big.c sph/haval.c \
|
2016-07-11 21:26:23 +00:00
|
|
|
sph/ripemd.c sph/sph_sha2.c \
|
2016-09-15 16:52:05 +00:00
|
|
|
lbry/lbry.cu lbry/cuda_sha256_lbry.cu lbry/cuda_sha512_lbry.cu lbry/cuda_lbry_merged.cu \
|
2015-06-10 19:57:20 +00:00
|
|
|
qubit/qubit.cu qubit/qubit_luffa512.cu qubit/deep.cu qubit/luffa.cu \
|
2014-08-19 13:34:15 +00:00
|
|
|
x11/x11.cu x11/fresh.cu x11/cuda_x11_luffa512.cu x11/cuda_x11_cubehash512.cu \
|
2014-08-08 06:06:06 +00:00
|
|
|
x11/cuda_x11_shavite512.cu x11/cuda_x11_simd512.cu x11/cuda_x11_echo.cu \
|
2016-05-31 17:40:23 +00:00
|
|
|
x11/cuda_x11_luffa512_Cubehash.cu x11/x11evo.cu \
|
2014-08-19 13:34:15 +00:00
|
|
|
x13/x13.cu x13/cuda_x13_hamsi512.cu x13/cuda_x13_fugue512.cu \
|
2014-09-09 19:56:25 +00:00
|
|
|
x15/x14.cu x15/x15.cu x15/cuda_x14_shabal512.cu x15/cuda_x15_whirlpool.cu \
|
2016-02-19 14:46:35 +00:00
|
|
|
x15/whirlpool.cu \
|
2016-05-08 15:31:20 +00:00
|
|
|
x17/x17.cu x17/cuda_x17_haval256.cu x17/cuda_x17_sha512.cu \
|
2016-08-18 12:53:21 +00:00
|
|
|
x11/c11.cu x11/s3.cu x11/sib.cu x11/veltor.cu x11/cuda_streebog.cu
|
2014-04-26 23:26:08 +00:00
|
|
|
|
2015-04-18 06:08:23 +00:00
|
|
|
# scrypt
|
|
|
|
ccminer_SOURCES += scrypt.cpp scrypt-jane.cpp \
|
|
|
|
scrypt/blake.cu scrypt/keccak.cu scrypt/sha256.cu \
|
|
|
|
scrypt/salsa_kernel.cu scrypt/test_kernel.cu \
|
|
|
|
scrypt/fermi_kernel.cu scrypt/kepler_kernel.cu \
|
|
|
|
scrypt/nv_kernel.cu scrypt/nv_kernel2.cu scrypt/titan_kernel.cu
|
|
|
|
|
2014-11-13 13:11:43 +00:00
|
|
|
if HAVE_NVML
|
|
|
|
nvml_defs = -DUSE_WRAPNVML
|
|
|
|
nvml_libs = -ldl
|
|
|
|
endif
|
|
|
|
|
2014-11-03 15:06:49 +00:00
|
|
|
if HAVE_WINDOWS
|
|
|
|
ccminer_SOURCES += compat/winansi.c
|
|
|
|
endif
|
2014-08-31 06:57:48 +00:00
|
|
|
|
2014-11-13 13:11:43 +00:00
|
|
|
ccminer_LDFLAGS = $(PTHREAD_FLAGS) @CUDA_LDFLAGS@
|
2016-05-16 19:39:30 +00:00
|
|
|
ccminer_LDADD = @LIBCURL@ @JANSSON_LIBS@ @PTHREAD_LIBS@ @WS2_LIBS@ @CUDA_LIBS@ @OPENMP_CFLAGS@ @LIBS@ $(nvml_libs)
|
|
|
|
ccminer_CPPFLAGS = @LIBCURL_CPPFLAGS@ @OPENMP_CFLAGS@ $(CPPFLAGS) $(PTHREAD_FLAGS) -fno-strict-aliasing $(JANSSON_INCLUDES) $(DEF_INCLUDES) $(nvml_defs)
|
2014-04-26 23:26:08 +00:00
|
|
|
|
2014-08-22 23:57:12 +00:00
|
|
|
nvcc_ARCH = -gencode=arch=compute_50,code=\"sm_50,compute_50\"
|
2015-01-18 22:00:03 +00:00
|
|
|
|
2015-11-01 14:36:26 +00:00
|
|
|
nvcc_ARCH += -gencode=arch=compute_52,code=\"sm_52,compute_52\"
|
2015-04-21 15:45:25 +00:00
|
|
|
#nvcc_ARCH += -gencode=arch=compute_35,code=\"sm_35,compute_35\"
|
|
|
|
#nvcc_ARCH += -gencode=arch=compute_30,code=\"sm_30,compute_30\"
|
|
|
|
#nvcc_ARCH += -gencode=arch=compute_20,code=\"sm_21,compute_20\"
|
2014-08-22 23:57:12 +00:00
|
|
|
|
2014-11-13 13:11:43 +00:00
|
|
|
nvcc_FLAGS = $(nvcc_ARCH) @CUDA_INCLUDES@ -I. @CUDA_CFLAGS@
|
2014-09-10 22:48:47 +00:00
|
|
|
nvcc_FLAGS += $(JANSSON_INCLUDES) --ptxas-options="-v"
|
2014-08-20 05:49:22 +00:00
|
|
|
|
2014-04-26 23:26:08 +00:00
|
|
|
# we're now targeting all major compute architectures within one binary.
|
|
|
|
.cu.o:
|
2014-09-04 09:34:45 +00:00
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=128 -o $@ -c $<
|
2014-08-20 05:49:22 +00:00
|
|
|
|
2014-12-06 12:08:16 +00:00
|
|
|
Algo256/blake256.o: Algo256/blake256.cu
|
2014-09-04 09:34:45 +00:00
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=64 -o $@ -c $<
|
2014-09-02 19:13:37 +00:00
|
|
|
|
2015-08-22 13:01:51 +00:00
|
|
|
Algo256/cuda_bmw.o: Algo256/cuda_bmw.cu
|
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=76 -o $@ -c $<
|
|
|
|
|
2017-01-09 01:50:02 +00:00
|
|
|
crypto/cryptonight-core.o: crypto/cryptonight-core.cu
|
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=64 -o $@ -c $<
|
|
|
|
|
|
|
|
crypto/cryptonight-extra.o: crypto/cryptonight-extra.cu
|
2017-01-06 10:00:56 +00:00
|
|
|
$(NVCC) $(nvcc_FLAGS) -o $@ -c $<
|
|
|
|
|
2014-11-27 00:57:12 +00:00
|
|
|
heavy/cuda_hefty1.o: heavy/cuda_hefty1.cu
|
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=80 -o $@ -c $<
|
|
|
|
|
2014-09-10 22:48:47 +00:00
|
|
|
qubit/qubit_luffa512.o: qubit/qubit_luffa512.cu
|
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=80 -o $@ -c $<
|
|
|
|
|
2014-08-21 00:21:39 +00:00
|
|
|
# Luffa and Echo are faster with 80 registers than 128
|
2014-08-20 05:49:22 +00:00
|
|
|
x11/cuda_x11_luffa512.o: x11/cuda_x11_luffa512.cu
|
2014-09-04 09:34:45 +00:00
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=80 -o $@ -c $<
|
2014-08-22 23:57:12 +00:00
|
|
|
|
2014-11-22 15:25:43 +00:00
|
|
|
x11/cuda_x11_luffa512_Cubehash.o: x11/cuda_x11_luffa512_Cubehash.cu
|
2015-06-17 01:56:22 +00:00
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=76 -o $@ -c $<
|
2014-11-22 15:25:43 +00:00
|
|
|
|
2015-11-01 12:34:44 +00:00
|
|
|
x11/cuda_x11_simd512.o: x11/cuda_x11_simd512.cu
|
|
|
|
$(NVCC) $(nvcc_FLAGS) -Xcompiler -Wno-unused-variable -o $@ -c $<
|
|
|
|
|
2014-11-24 21:26:27 +00:00
|
|
|
x13/cuda_x13_hamsi512.o: x13/cuda_x13_hamsi512.cu
|
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=72 -o $@ -c $<
|
|
|
|
|
2014-08-23 16:18:24 +00:00
|
|
|
x17/cuda_x17_sha512.o: x17/cuda_x17_sha512.cu
|
2014-09-04 09:34:45 +00:00
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=80 -o $@ -c $<
|
2014-08-23 16:18:24 +00:00
|
|
|
|
2014-10-20 00:18:21 +00:00
|
|
|
quark/cuda_quark_blake512.o: quark/cuda_quark_blake512.cu
|
2015-04-21 09:11:12 +00:00
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=80 -o $@ -c $<
|
2014-10-20 00:18:21 +00:00
|
|
|
|
|
|
|
quark/cuda_quark_keccak512.o: quark/cuda_quark_keccak512.cu
|
2015-04-21 09:11:12 +00:00
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=88 -o $@ -c $<
|
2014-10-20 00:18:21 +00:00
|
|
|
|
2014-05-06 11:53:52 +00:00
|
|
|
quark/cuda_quark_compactionTest.o: quark/cuda_quark_compactionTest.cu
|
2015-04-21 09:11:12 +00:00
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=80 -o $@ -c $<
|
2014-05-06 11:53:52 +00:00
|
|
|
|
2014-05-05 20:52:32 +00:00
|
|
|
JHA/cuda_jha_compactionTest.o: JHA/cuda_jha_compactionTest.cu
|
2015-04-21 09:11:12 +00:00
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=80 -o $@ -c $<
|
2015-03-27 10:37:36 +00:00
|
|
|
|
2015-04-21 09:11:12 +00:00
|
|
|
# This object does not use cuda device code but call the different kernels (autotune)
|
2015-04-18 06:08:23 +00:00
|
|
|
scrypt/salsa_kernel.o: scrypt/salsa_kernel.cu
|
2015-05-26 08:56:23 +00:00
|
|
|
$(NVCC) $(JANSSON_INCLUDES) -I. @CUDA_INCLUDES@ @CUDA_CFLAGS@ -gencode=arch=compute_20,code=\"sm_21,compute_20\" -o $@ -c $<
|
2015-04-21 09:11:12 +00:00
|
|
|
|
|
|
|
# These kernels are for older devices (SM)
|
|
|
|
|
|
|
|
scrypt/test_kernel.o: scrypt/test_kernel.cu
|
2015-05-26 08:56:23 +00:00
|
|
|
$(NVCC) $(JANSSON_INCLUDES) -I. @CUDA_INCLUDES@ @CUDA_CFLAGS@ -gencode=arch=compute_20,code=\"sm_20,compute_20\" -o $@ -c $<
|
2015-04-21 09:11:12 +00:00
|
|
|
|
|
|
|
scrypt/fermi_kernel.o: scrypt/fermi_kernel.cu
|
2015-05-26 08:56:23 +00:00
|
|
|
$(NVCC) $(JANSSON_INCLUDES) -I. @CUDA_INCLUDES@ @CUDA_CFLAGS@ -gencode=arch=compute_20,code=\"sm_21,compute_20\" -o $@ -c $<
|
2015-04-21 09:11:12 +00:00
|
|
|
|
|
|
|
scrypt/kepler_kernel.o: scrypt/kepler_kernel.cu
|
2015-05-26 08:56:23 +00:00
|
|
|
$(NVCC) $(JANSSON_INCLUDES) -I. @CUDA_INCLUDES@ @CUDA_CFLAGS@ -gencode=arch=compute_30,code=\"sm_30,compute_30\" -o $@ -c $<
|
2015-04-21 09:11:12 +00:00
|
|
|
|
|
|
|
scrypt/nv_kernel.o: scrypt/nv_kernel.cu
|
2015-05-26 08:56:23 +00:00
|
|
|
$(NVCC) $(JANSSON_INCLUDES) -I. @CUDA_INCLUDES@ @CUDA_CFLAGS@ -gencode=arch=compute_30,code=\"sm_30,compute_30\" -o $@ -c $<
|
2015-04-21 09:11:12 +00:00
|
|
|
|
|
|
|
scrypt/titan_kernel.o: scrypt/titan_kernel.cu
|
2015-04-21 14:18:21 +00:00
|
|
|
$(NVCC) $(nvcc_FLAGS) -gencode=arch=compute_35,code=\"sm_35,compute_35\" -o $@ -c $<
|
2015-04-18 06:08:23 +00:00
|
|
|
|
2015-03-27 10:37:36 +00:00
|
|
|
skein.o: skein.cu
|
|
|
|
$(NVCC) $(nvcc_FLAGS) --maxrregcount=64 -o $@ -c $<
|
|
|
|
|