Pages:
Author

Topic: hashkill - testing bitcoin miner plugin - page 15. (Read 90911 times)

newbie
Activity: 53
Merit: 0
this time it compiled the whole way thru, (do you need the output of the complilation?)

khash@UbuntuMiner:/usr/bin$ ./hashkill-gpu -p bitcoin xxxxx
[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Redwood
[hashkill] GPU0: ATI Radeon HD 5570 [busy:0%] [temp:48C]
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at deepbit.net:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 348696
[hashkill] Doing BFI_INT magic...
[hashkill] Long polling available, starting LP thread.

Mining statistics...
Segmentation fault
sr. member
Activity: 256
Merit: 250
Just repeat the steps omitting make depclean. This should be:

export ATISTREAMSDKROOT=/opt/ati-stream-sdk-v2.3-lnx64
export ADLROOT=/opt/ADL_SDK_3.0
./rebuild.sh
./configure
make
sudo make install
newbie
Activity: 53
Merit: 0
Alright, skip the make depclean part then, just go on with the next ones exactly as I posted

oke i'm back, with a new clean system where the normal hashkill works

first step: hashkill-source  ./configure returns

khash@UbuntuMiner:~/Downloads/hashkillsource/hashkill$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating man/Makefile
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for stdlib.h... (cached) yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking openssl/md5.h usability... yes
checking openssl/md5.h presence... yes
checking for openssl/md5.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking openssl/sha1.h usability... no
checking openssl/sha1.h presence... no
checking for openssl/sha1.h... no
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking json/json.h usability... yes
checking json/json.h presence... yes
checking for json/json.h... yes
checking curl/curl.h usability... yes
checking curl/curl.h presence... yes
checking for curl/curl.h... yes
checking for size_t... yes
checking for uint64_t... yes
checking for uint32_t... yes
checking for uint16_t... yes
checking for ssize_t... yes
checking for inline... inline
checking for working alloca.h... yes
checking for alloca... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for uid_t in sys/types.h... yes
checking for x86 cpuid 0x00000001 output... 100f62:1020800:802009:178bfbff
checking whether sse2 is supported... yes
checking whether C compiler accepts -msse2... yes
configure: error: cannot run /bin/bash ./config.sub
newbie
Activity: 53
Merit: 0
brb, have to buy some food, we'll go on in an hour
sr. member
Activity: 256
Merit: 250
Alright, skip the make depclean part then, just go on with the next ones exactly as I posted
newbie
Activity: 53
Merit: 0
Ummm, OK, just use that exact sequence of commands:

Quote
export ATISTREAMSDKROOT=/opt/ati-stream-sdk-v2.3-lnx64
export ADLROOT=/opt/ADL_SDK_3.0
make depclean
./rebuild.sh
./configure
make
sudo make install

i must be doing something wrong

khash@UbuntuMiner:~/Downloads/hashkill/source/hashkill$ export ATISTREAMSDKROOT=/opt/ati-stream-sdk-v2.3-lnx64
khash@UbuntuMiner:~/Downloads/hashkill/source/hashkill$ export ADLROOT=/opt/ADL_SDK_3.0
khash@UbuntuMiner:~/Downloads/hashkill/source/hashkill$ make depclean
make: *** No rule to make target `depclean'.  Stop.
sr. member
Activity: 256
Merit: 250
Ummm, OK, just use that exact sequence of commands:

Quote
export ATISTREAMSDKROOT=/opt/ati-stream-sdk-v2.3-lnx64
export ADLROOT=/opt/ADL_SDK_3.0
make depclean
./rebuild.sh
./configure
make
sudo make install
newbie
Activity: 53
Merit: 0
On the prerequisites i had to additionally install curl and libcurl4-openssl-dev, afaik libcurl3-dev was replaced with libcurl4-openssl-dev

export ATISTREAMSDKROOT=/opt/ati-stream-sdk-v2.3-lnx64
export ADLROOT=/opt/ADL_SDK_3.0

./configure returned no errors

make returned this error:

gcc -DPACKAGE_NAME=\"hashkill\" -DPACKAGE_TARNAME=\"hashkill\" -DPACKAGE_VERSION=\"0.1.0\" -DPACKAGE_STRING=\"hashkill\ 0.1.0\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"hashkill\" -DVERSION=\"0.1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_FCNTL_H=1 -DHAVE_STDLIB_H=1 -DHAVE_PTHREAD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_OPENSSL_MD5_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_ZLIB_H=1 -DHAVE_WCHAR_H=1 -DHAVE_JSON_JSON_H=1 -DHAVE_CURL_CURL_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE__BOOL=1 -DHAVE_STDBOOL_H=1 -DHAVE_SSE2=/\*\*/ -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_BZERO=1 -DHAVE_STRSTR=1 -DHAVE_SYSINFO=1 -DHAVE_STRERROR=1 -DHAVE_ENDPWENT=1 -DHAVE_GETCWD=1 -DHAVE_STRCHR=1 -DHAVE_STRCSPN=1 -DHAVE_STRTOUL=1 -DHAVE_MEMSET=1 -DHAVE_STRTOL=1 -I. -msse2  -ljson -lcurl -DHAVE_CURL_CURL_H -DHAVE_ADL_SDK_H -I/include   -I/include -O3 -funroll-loops  -g -O2 -MT hashkill-ocl-adl.o -MD -MP -MF .deps/hashkill-ocl-adl.Tpo -c -o hashkill-ocl-adl.o `test -f 'ocl-adl.c' || echo './'`ocl-adl.c
ocl-adl.c:3:21: fatal error: adl_sdk.h: No such file or directory
compilation terminated.
make[2]: *** [hashkill-ocl-adl.o] Error 1


and rebuild returned

khash@UbuntuMiner:~/Downloads/hashkill/source/hashkill$ ./rebuild.sh
configure.ac: warning: missing AC_CHECK_FUNCS([mkdir]) wanted by: src/sessions.c:150
configure.ac: warning: missing AC_CHECK_FUNCS([setenv]) wanted by: src/main.c:297
configure.ac: warning: missing AC_PROG_CXX wanted by: src/amd_bitcoin.ll
configure.ac: warning: missing AC_PROG_LN_S wanted by: 64bitset.sh:7
Can't exec "libtoolize": No such file or directory at /usr/bin/autoreconf line 196.
Use of uninitialized value in pattern match (m//) at /usr/bin/autoreconf line 196.
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf
autoreconf: configure.ac: not using Autoheader
autoreconf: running: automake --add-missing --copy --no-force
src/Makefile.am:20: compiling `plugins.c' with per-target flags requires `AM_PROG_CC_C_O' in `configure.ac'
autoreconf: Leaving directory `.'
src/Makefile.am:20: compiling `plugins.c' with per-target flags requires `AM_PROG_CC_C_O' in `configure.ac'

any suggestions?

sr. member
Activity: 256
Merit: 250
I gotta go to work now Sad So it would be next time I believe.
member
Activity: 78
Merit: 10
@gat3way, I have about an hour or so.  If you want to try and debug anything for a bit I am available.  I am on #bitcoin.
sr. member
Activity: 256
Merit: 250
http://www.gat3way.eu/poc/hashkill-src.tgz

Building is not so easy though. There are some prerequisites: json-c, curl and openssl. With Ubuntu that would be:

apt-get install gcc make autoconf libjson0 libjson0-dev libcurl3-dev openssl

if you fail to provide some of them, the build will likely be successful, however the bitcoin functionality won't be available.


There is also dependance on AMD ADL. IT can be downloaded from AMD site at:

http://developer.amd.com/gpu/adlsdk/pages/default.aspx


Then the easiest way to build it all is by first setting two environment variables:

export ATISTREAMSDKROOT=/path/to/streamsdk
export ADLROOT=/path/to/adl

then

./configure && make && make install

if something fails, you could try to run the ./rebuild.sh script and retry.

For the "make install" step you need root privileges as it does the copy to /usr/share and /usr/bin.

OK, like I said, building is not easy.
newbie
Activity: 53
Merit: 0
Quote
Thus far I have those:

* on some GPUs performance is rather degraded, root cause not identified. Seen that on 5870 and 5850, probably others. Some 5870 user reported expected speed so this might turn out to be outside hashkill's scope.

* Those crashes (unfortunately I cannot reproduce them). Still wondering what may be the root cause. Will increase verbosity to see where it fails

* Apparently there are issues with thermal monitoring and dual-GPU cards. Also I do not handle the case with an onboard ATI GPU that is not supported by OpenCL - that is a potential issue with some systems.


If you cant reproduce those tryout version crashes, i could try to build that version from source on my machine (if you have a tryout source version and directions for me)


member
Activity: 78
Merit: 10
BTW are your 5870s crossfired ?
No.
sr. member
Activity: 256
Merit: 250
BTW are your 5870s crossfired ?
member
Activity: 78
Merit: 10
Hmpf, that's kinda strange. I definitely see one issue with the thermal monitoring (5970 detected by ADL as a single device named "5800 series" instead of 2 devices, as far as I understood, it depends on the card's BIOS version, so that I need to take that into account).

OK then the crash thing is really weird. Still not sure why does that happen, will build a version that spits out more debug messages to find out what causes them.

Actually, I have two 5870 cards.

I also experience the performance issue.  I see about 667MH/s with hashkill and about ~800MH/s with phoenix.
sr. member
Activity: 256
Merit: 250
Hmpf, that's kinda strange. I definitely see one issue with the thermal monitoring (5970 detected by ADL as a single device named "5800 series" instead of 2 devices, as far as I understood, it depends on the card's BIOS version, so that I need to take that into account).

OK then the crash thing is really weird. Still not sure why does that happen, will build a version that spits out more debug messages to find out what causes them.

Quote
I'm curious to know if a windows beta/alpha build will be released soon.

This is like alpha. Beta will be released once annoying bugs like those are addressed properly.

Thus far I have those:

* on some GPUs performance is rather degraded, root cause not identified. Seen that on 5870 and 5850, probably others. Some 5870 user reported expected speed so this might turn out to be outside hashkill's scope.

* Those crashes (unfortunately I cannot reproduce them). Still wondering what may be the root cause. Will increase verbosity to see where it fails

* Apparently there are issues with thermal monitoring and dual-GPU cards. Also I do not handle the case with an onboard ATI GPU that is not supported by OpenCL - that is a potential issue with some systems.
legendary
Activity: 3080
Merit: 1080
I'm curious to know if a windows beta/alpha build will be released soon.
newbie
Activity: 53
Merit: 0
@Bolapara

go to the dir where your hashkill-gpu is and do:

ldd hashkill-gpu | grep OpenCL

and you'll see this:

   libOpenCL.so => /opt/ati-stream-sdk-v2.3-lnx64/lib/x86_64/libOpenCL.so (0x00007f1c94159000)

then you know if you got the right SDK

edit@bolapara
didn't scroll down in the included screen to see you already did this

must be a form of my dislectia  Wink
member
Activity: 78
Merit: 10
Could you check what SDK version are you really using?

This is simple: just type:

ldd /usr/bin/hashkill | grep OpenCL

and paste.

Looking at the guide posted, they do install the SDK and they do set it inside .bashrc. However they do not immediately set the LD_LIBRARY_PATH variable and you will not be using SDK2.3 until you relogin (or open a new session). Thus, if you have already set LD_LIBRARY_PATH to SDK2.1 or 2.2, it would crash. I am asking that because the symptoms are very much as though you're using older SDK - it crashes right after the BFI_INT replacement, on the first clEnqueueNDRangeKernel operation.

Code:
me@miner00:~/hashkill-0.2.4-x86_64$ hashkill-gpu -p bitcoin *****:deepbit.net:8332 -D -a *****

[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Using GPU double mode
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] GPU0: ATI Radeon HD 5800 Series [busy:0%] [temp:53C]
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at deepbit.net:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 348696
[hashkill] Doing BFI_INT magic...
[hashkill] Long polling available, starting LP thread.
Segmentation fault
me@miner00:~/hashkill-0.2.4-x86_64$ ldd /usr/bin/hashkill-gpu | grep OpenCL
        libOpenCL.so => /opt/ati-stream-sdk-v2.3-lnx64/lib/x86_64/libOpenCL.so (0x00007fb6f7c73000)
me@miner00:~/hashkill-0.2.4-x86_64$ which hashkill-gpu
/usr/bin/hashkill-gpu
me@miner00:~/hashkill-0.2.4-x86_64$
sr. member
Activity: 256
Merit: 250
Could you check what SDK version are you really using?

This is simple: just type:

ldd /usr/bin/hashkill | grep OpenCL

and paste.

Looking at the guide posted, they do install the SDK and they do set it inside .bashrc. However they do not immediately set the LD_LIBRARY_PATH variable and you will not be using SDK2.3 until you relogin (or open a new session). Thus, if you have already set LD_LIBRARY_PATH to SDK2.1 or 2.2, it would crash. I am asking that because the symptoms are very much as though you're using older SDK - it crashes right after the BFI_INT replacement, on the first clEnqueueNDRangeKernel operation.
Pages:
Jump to: