Skip to content

Commit b93669a

Browse files
Christian BuchnerChristian Buchner
authored andcommitted
committing changes to v0.3 release - added Groestlcoin.
1 parent a3f4e78 commit b93669a

21 files changed

+934
-261
lines changed

Makefile.am

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,20 @@ ccminer_SOURCES = elist.h miner.h compat.h \
2525
cuda_hefty1.cu cuda_hefty1.h \
2626
cuda_keccak512.cu cuda_keccak512.h \
2727
cuda_sha256.cu cuda_sha256.h \
28-
cuda_fugue256.cu \
29-
fuguecoin.cpp fugue.c sph_fugue.h uint256.h
30-
28+
fuguecoin.cpp cuda_fugue256.cu fugue.c sph_fugue.h uint256.h \
29+
groestlcoin.cpp cuda_groestlcoin.cu cuda_groestlcoin.h
3130

3231
ccminer_LDFLAGS = $(PTHREAD_FLAGS) @CUDA_LDFLAGS@
3332
ccminer_LDADD = @LIBCURL@ @JANSSON_LIBS@ @PTHREAD_LIBS@ @WS2_LIBS@ @CUDA_LIBS@ @OPENMP_CFLAGS@ @LIBS@
3433
ccminer_CPPFLAGS = -msse2 @LIBCURL_CPPFLAGS@ @OPENMP_CFLAGS@ $(PTHREAD_FLAGS) -fno-strict-aliasing $(JANSSON_INCLUDES) -DSCRYPT_KECCAK512 -DSCRYPT_CHACHA -DSCRYPT_CHOOSE_COMPILETIME
3534

3635
.cu.o:
37-
$(NVCC) @CFLAGS@ -Xptxas "-abi=no -v" -arch=compute_20 --maxrregcount=63 --ptxas-options=-v $(JANSSON_INCLUDES) -o $@ -c $<
36+
$(NVCC) @CFLAGS@ -Xptxas "-abi=no -v" -arch=compute_35 --maxrregcount=124 --ptxas-options=-v $(JANSSON_INCLUDES) -o $@ -c $<
37+
38+
## Thrust needs Compute 2.0 minimum
39+
#heavy.o: heavy.cu
40+
# $(NVCC) @CFLAGS@ -Xptxas "-abi=no -v" -arch=compute_20 --maxrregcount=63 --ptxas-options=-v $(JANSSON_INCLUDES) -o $@ -c $<
41+
#
42+
#cuda_hefty1.o: cuda_hefty1.cu
43+
# $(NVCC) @CFLAGS@ -Xptxas "-abi=no -v" -arch=compute_20 --maxrregcount=63 --ptxas-options=-v $(JANSSON_INCLUDES) -o $@ -c $<
44+

Makefile.in

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,9 @@ am_ccminer_OBJECTS = ccminer-cpu-miner.$(OBJEXT) \
6060
ccminer-sha2.$(OBJEXT) heavy.$(OBJEXT) cuda_blake512.$(OBJEXT) \
6161
cuda_combine.$(OBJEXT) cuda_groestl512.$(OBJEXT) \
6262
cuda_hefty1.$(OBJEXT) cuda_keccak512.$(OBJEXT) \
63-
cuda_sha256.$(OBJEXT) cuda_fugue256.$(OBJEXT) \
64-
ccminer-fuguecoin.$(OBJEXT) ccminer-fugue.$(OBJEXT)
63+
cuda_sha256.$(OBJEXT) ccminer-fuguecoin.$(OBJEXT) \
64+
cuda_fugue256.$(OBJEXT) ccminer-fugue.$(OBJEXT) \
65+
ccminer-groestlcoin.$(OBJEXT) cuda_groestlcoin.$(OBJEXT)
6566
ccminer_OBJECTS = $(am_ccminer_OBJECTS)
6667
ccminer_DEPENDENCIES =
6768
ccminer_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ccminer_LDFLAGS) \
@@ -275,8 +276,8 @@ ccminer_SOURCES = elist.h miner.h compat.h \
275276
cuda_hefty1.cu cuda_hefty1.h \
276277
cuda_keccak512.cu cuda_keccak512.h \
277278
cuda_sha256.cu cuda_sha256.h \
278-
cuda_fugue256.cu \
279-
fuguecoin.cpp fugue.c sph_fugue.h uint256.h
279+
fuguecoin.cpp cuda_fugue256.cu fugue.c sph_fugue.h uint256.h \
280+
groestlcoin.cpp cuda_groestlcoin.cu cuda_groestlcoin.h
280281

281282
ccminer_LDFLAGS = $(PTHREAD_FLAGS) @CUDA_LDFLAGS@
282283
ccminer_LDADD = @LIBCURL@ @JANSSON_LIBS@ @PTHREAD_LIBS@ @WS2_LIBS@ @CUDA_LIBS@ @OPENMP_CFLAGS@ @LIBS@
@@ -387,6 +388,7 @@ distclean-compile:
387388
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ccminer-fugue.Po@am__quote@
388389
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ccminer-fuguecoin.Po@am__quote@
389390
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ccminer-groestl.Po@am__quote@
391+
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ccminer-groestlcoin.Po@am__quote@
390392
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ccminer-hefty1.Po@am__quote@
391393
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ccminer-keccak.Po@am__quote@
392394
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ccminer-scrypt.Po@am__quote@
@@ -561,6 +563,20 @@ ccminer-fuguecoin.obj: fuguecoin.cpp
561563
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
562564
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ccminer_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ccminer-fuguecoin.obj `if test -f 'fuguecoin.cpp'; then $(CYGPATH_W) 'fuguecoin.cpp'; else $(CYGPATH_W) '$(srcdir)/fuguecoin.cpp'; fi`
563565

566+
ccminer-groestlcoin.o: groestlcoin.cpp
567+
@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ccminer_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ccminer-groestlcoin.o -MD -MP -MF $(DEPDIR)/ccminer-groestlcoin.Tpo -c -o ccminer-groestlcoin.o `test -f 'groestlcoin.cpp' || echo '$(srcdir)/'`groestlcoin.cpp
568+
@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/ccminer-groestlcoin.Tpo $(DEPDIR)/ccminer-groestlcoin.Po
569+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='groestlcoin.cpp' object='ccminer-groestlcoin.o' libtool=no @AMDEPBACKSLASH@
570+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
571+
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ccminer_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ccminer-groestlcoin.o `test -f 'groestlcoin.cpp' || echo '$(srcdir)/'`groestlcoin.cpp
572+
573+
ccminer-groestlcoin.obj: groestlcoin.cpp
574+
@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ccminer_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ccminer-groestlcoin.obj -MD -MP -MF $(DEPDIR)/ccminer-groestlcoin.Tpo -c -o ccminer-groestlcoin.obj `if test -f 'groestlcoin.cpp'; then $(CYGPATH_W) 'groestlcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/groestlcoin.cpp'; fi`
575+
@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/ccminer-groestlcoin.Tpo $(DEPDIR)/ccminer-groestlcoin.Po
576+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='groestlcoin.cpp' object='ccminer-groestlcoin.obj' libtool=no @AMDEPBACKSLASH@
577+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
578+
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ccminer_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ccminer-groestlcoin.obj `if test -f 'groestlcoin.cpp'; then $(CYGPATH_W) 'groestlcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/groestlcoin.cpp'; fi`
579+
564580
# This directory's subdirectories are mostly independent; you can cd
565581
# into them and run `make' without going through this Makefile.
566582
# To change the values of `make' variables: instead of editing Makefiles,
@@ -1018,7 +1034,7 @@ uninstall-am: uninstall-binPROGRAMS
10181034

10191035

10201036
.cu.o:
1021-
$(NVCC) @CFLAGS@ -Xptxas "-abi=no -v" -arch=sm_20 --maxrregcount=63 --ptxas-options=-v $(JANSSON_INCLUDES) -o $@ -c $<
1037+
$(NVCC) @CFLAGS@ -Xptxas "-abi=no -v" -arch=compute_35 --maxrregcount=124 --ptxas-options=-v $(JANSSON_INCLUDES) -o $@ -c $<
10221038

10231039
#heavy.o: heavy.cu
10241040
# $(NVCC) @CFLAGS@ -Xptxas "-abi=no -v" -arch=compute_20 --maxrregcount=63 --ptxas-options=-v $(JANSSON_INCLUDES) -o $@ -c $<

README.txt

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
ccMiner release 0.2 (Mar 21th 2014) - Pool Mining Release
2+
ccMiner release 0.3 (Mar 23th 2014) - Groestlcoin Release
33
-------------------------------------------------------------
44

55
***************************************************************
@@ -36,6 +36,7 @@ its command line interface and options.
3636
-a, --algo=ALGO specify the algorithm to use
3737
heavy use to mine Heavycoin
3838
fugue256 use to mine Fuguecoin
39+
groestl use to mine Groestlcoin
3940

4041
-o, --url=URL URL of mining server (default: " DEF_RPC_URL ")
4142
-O, --userpass=U:P username:password pair for mining server
@@ -66,24 +67,29 @@ its command line interface and options.
6667

6768
Example for Heavycoin Mining on heavycoinpool.com with a single gpu in your system
6869

69-
cudaminer.exe -t 1 -a heavy -o stratum+tcp://stratum01.heavycoinpool.com:5333 -u <<username.worker>> -p <<workerpassword>> -v 512
70+
ccminer.exe -t 1 -a heavy -o stratum+tcp://stratum01.heavycoinpool.com:5333 -u <<username.worker>> -p <<workerpassword>> -v 512
7071

7172

7273

7374
Example for Heavycoin Mining on hvc.1gh.com with a dual gpu in your system
7475

75-
cudaminer.exe -t 2 -a heavy -o stratum+tcp://hvcpool.1gh.com:5333 -u <<WALLET>> -p x -v 512
76+
ccminer.exe -t 2 -a heavy -o stratum+tcp://hvcpool.1gh.com:5333 -u <<WALLET>> -p x -v 512
7677

7778

7879

7980
Example for Fuguecoin solo-mining with 4 gpu's in your system and a Fuguecoin-wallet running on localhost
8081

81-
cudaminer.exe -q -s 1 -t 4 -a fugue256 -o http://localhost:9089 -u <<myusername>> -p <<mypassword>>
82+
ccminer.exe -q -s 1 -t 4 -a fugue256 -o http://localhost:9089 -u <<myusername>> -p <<mypassword>>
8283

8384

8485
Example for Fuguecoin pool mining on dwarfpool.com with all your GPUs
8586

86-
-q -a fugue256 -o stratum+tcp://erebor.dwarfpool.com:3340 -u YOURWALLETADDRESS.1 -p YOUREMAILADDRESS
87+
ccminer.exe -q -a fugue256 -o stratum+tcp://erebor.dwarfpool.com:3340 -u YOURWALLETADDRESS.1 -p YOUREMAILADDRESS
88+
89+
90+
Example for Groestlcoin solo mining
91+
92+
ccminer.exe -q -s 1 -a groestl -o http://127.0.0.1:1441 -u USERNAME -p PASSWORD
8793

8894

8995
For solo-mining you typically use -o 127.0.0.1:xxxx where xxxx represents
@@ -101,6 +107,9 @@ from your old clunkers.
101107

102108
>>> RELEASE HISTORY <<<
103109

110+
Match, 23 2014 added Groestlcoin support. stratum status unknown
111+
(the only pool is currently down for fixing issues)
112+
104113
March, 21 2014 use of shared memory in Fugue256 kernel boosts hash rates
105114
on Fermi and Maxwell devices. Kepler may suffer slightly
106115
(3-5%)

ccminer.vcxproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)"</Command>
229229
<ClCompile Include="fugue.c" />
230230
<ClCompile Include="fuguecoin.cpp" />
231231
<ClCompile Include="groestl.c" />
232+
<ClCompile Include="groestlcoin.cpp" />
232233
<ClCompile Include="hefty1.c" />
233234
<ClCompile Include="keccak.c" />
234235
<ClCompile Include="scrypt.c" />
@@ -256,6 +257,7 @@ copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)"</Command>
256257
<ClInclude Include="cuda_blake512.h" />
257258
<ClInclude Include="cuda_combine.h" />
258259
<ClInclude Include="cuda_groestl512.h" />
260+
<ClInclude Include="cuda_groestlcoin.h" />
259261
<ClInclude Include="cuda_hefty1.h" />
260262
<ClInclude Include="cuda_keccak512.h" />
261263
<ClInclude Include="cuda_sha256.h" />
@@ -274,6 +276,7 @@ copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)"</Command>
274276
<CudaCompile Include="cuda_combine.cu" />
275277
<CudaCompile Include="cuda_fugue256.cu" />
276278
<CudaCompile Include="cuda_groestl512.cu" />
279+
<CudaCompile Include="cuda_groestlcoin.cu" />
277280
<CudaCompile Include="cuda_hefty1.cu" />
278281
<CudaCompile Include="cuda_keccak512.cu" />
279282
<CudaCompile Include="cuda_sha256.cu" />

ccminer.vcxproj.filters

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@
9090
<ClCompile Include="fuguecoin.cpp">
9191
<Filter>Source Files</Filter>
9292
</ClCompile>
93+
<ClCompile Include="groestlcoin.cpp">
94+
<Filter>Source Files</Filter>
95+
</ClCompile>
9396
</ItemGroup>
9497
<ItemGroup>
9598
<ClInclude Include="compat.h">
@@ -158,6 +161,9 @@
158161
<ClInclude Include="uint256.h">
159162
<Filter>Header Files</Filter>
160163
</ClInclude>
164+
<ClInclude Include="cuda_groestlcoin.h">
165+
<Filter>Header Files\CUDA</Filter>
166+
</ClInclude>
161167
</ItemGroup>
162168
<ItemGroup>
163169
<CudaCompile Include="cuda_sha256.cu">
@@ -184,5 +190,8 @@
184190
<CudaCompile Include="cuda_fugue256.cu">
185191
<Filter>Source Files\CUDA</Filter>
186192
</CudaCompile>
193+
<CudaCompile Include="cuda_groestlcoin.cu">
194+
<Filter>Source Files\CUDA</Filter>
195+
</CudaCompile>
187196
</ItemGroup>
188197
</Project>

configure

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.68 for ccminer 2014.03.21.
3+
# Generated by GNU Autoconf 2.68 for ccminer 2014.03.23.
44
#
55
#
66
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -557,8 +557,8 @@ MAKEFLAGS=
557557
# Identity of this package.
558558
PACKAGE_NAME='ccminer'
559559
PACKAGE_TARNAME='ccminer'
560-
PACKAGE_VERSION='2014.03.21'
561-
PACKAGE_STRING='ccminer 2014.03.21'
560+
PACKAGE_VERSION='2014.03.23'
561+
PACKAGE_STRING='ccminer 2014.03.23'
562562
PACKAGE_BUGREPORT=''
563563
PACKAGE_URL=''
564564

@@ -1297,7 +1297,7 @@ if test "$ac_init_help" = "long"; then
12971297
# Omit some internal or obsolete options to make the list less imposing.
12981298
# This message is too long to be a string in the A/UX 3.1 sh.
12991299
cat <<_ACEOF
1300-
\`configure' configures ccminer 2014.03.21 to adapt to many kinds of systems.
1300+
\`configure' configures ccminer 2014.03.23 to adapt to many kinds of systems.
13011301
13021302
Usage: $0 [OPTION]... [VAR=VALUE]...
13031303
@@ -1368,7 +1368,7 @@ fi
13681368

13691369
if test -n "$ac_init_help"; then
13701370
case $ac_init_help in
1371-
short | recursive ) echo "Configuration of ccminer 2014.03.21:";;
1371+
short | recursive ) echo "Configuration of ccminer 2014.03.23:";;
13721372
esac
13731373
cat <<\_ACEOF
13741374
@@ -1469,7 +1469,7 @@ fi
14691469
test -n "$ac_init_help" && exit $ac_status
14701470
if $ac_init_version; then
14711471
cat <<\_ACEOF
1472-
ccminer configure 2014.03.21
1472+
ccminer configure 2014.03.23
14731473
generated by GNU Autoconf 2.68
14741474
14751475
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1972,7 +1972,7 @@ cat >config.log <<_ACEOF
19721972
This file contains any messages produced by compilers while
19731973
running configure, to aid debugging if configure makes a mistake.
19741974
1975-
It was created by ccminer $as_me 2014.03.21, which was
1975+
It was created by ccminer $as_me 2014.03.23, which was
19761976
generated by GNU Autoconf 2.68. Invocation command line was
19771977
19781978
$ $0 $@
@@ -2901,7 +2901,7 @@ fi
29012901

29022902
# Define the identity of the package.
29032903
PACKAGE='ccminer'
2904-
VERSION='2014.03.21'
2904+
VERSION='2014.03.23'
29052905

29062906

29072907
cat >>confdefs.h <<_ACEOF
@@ -7118,7 +7118,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
71187118
# report actual input values of CONFIG_FILES etc. instead of their
71197119
# values after options handling.
71207120
ac_log="
7121-
This file was extended by ccminer $as_me 2014.03.21, which was
7121+
This file was extended by ccminer $as_me 2014.03.23, which was
71227122
generated by GNU Autoconf 2.68. Invocation command line was
71237123
71247124
CONFIG_FILES = $CONFIG_FILES
@@ -7184,7 +7184,7 @@ _ACEOF
71847184
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
71857185
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
71867186
ac_cs_version="\\
7187-
ccminer config.status 2014.03.21
7187+
ccminer config.status 2014.03.23
71887188
configured by $0, generated by GNU Autoconf 2.68,
71897189
with options \\"\$ac_cs_config\\"
71907190

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
AC_INIT([ccminer], [2014.03.21])
1+
AC_INIT([ccminer], [2014.03.23])
22

33
AC_PREREQ([2.59c])
44
AC_CANONICAL_SYSTEM

cpu-miner.c

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,13 @@ struct workio_cmd {
117117
typedef enum {
118118
ALGO_HEAVY, /* Heavycoin hash */
119119
ALGO_FUGUE256, /* Fugue256 */
120+
ALGO_GROESTL,
120121
} sha256_algos;
121122

122123
static const char *algo_names[] = {
123124
"heavy",
124-
"fugue256"
125+
"fugue256",
126+
"groestl"
125127
};
126128

127129
bool opt_debug = false;
@@ -667,7 +669,11 @@ static void stratum_gen_work(struct stratum_ctx *sctx, struct work *work)
667669
if (opt_algo == ALGO_HEAVY)
668670
heavycoin_hash(merkle_root, sctx->job.coinbase, (int)sctx->job.coinbase_size);
669671
else
672+
if (opt_algo == ALGO_FUGUE256)
670673
SHA256((unsigned char*)sctx->job.coinbase, sctx->job.coinbase_size, (unsigned char*)merkle_root);
674+
else
675+
sha256d(merkle_root, sctx->job.coinbase, (int)sctx->job.coinbase_size);
676+
671677
for (i = 0; i < sctx->job.merkle_count; i++) {
672678
memcpy(merkle_root + 32, sctx->job.merkle[i], 32);
673679
if (opt_algo == ALGO_HEAVY)
@@ -817,7 +823,10 @@ static void *miner_thread(void *userdata)
817823
rc = scanhash_fugue256(thr_id, work.data, work.target,
818824
max_nonce, &hashes_done);
819825
break;
820-
826+
case ALGO_GROESTL:
827+
rc = scanhash_groestlcoin(thr_id, work.data, work.target,
828+
max_nonce, &hashes_done);
829+
break;
821830
default:
822831
/* should never happen */
823832
goto out;

0 commit comments

Comments
 (0)