Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cuda 8 #59

Open
wants to merge 724 commits into
base: master
Choose a base branch
from
Open

Cuda 8 #59

wants to merge 724 commits into from

Conversation

waqasaqb
Copy link

@waqasaqb waqasaqb commented Dec 9, 2017

hi tpruvot
i am new to github i want to use your ccminer in linux 16.04 and gpu NVIDIA® Tesla® P100 GPUs
please give me your ccminer with my gpu
and i have the eror on my linux

make all-recursive
make[1]: Entering directory '/home/waqas/ccminer'
Making all in compat
make[2]: Entering directory '/home/waqas/ccminer/compat'
make[3]: Entering directory '/home/waqas/ccminer/compat'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/waqas/ccminer/compat'
make[2]: Leaving directory '/home/waqas/ccminer/compat'
make[2]: Entering directory '/home/waqas/ccminer'
nvcc -gencode=arch=compute_50,code="sm_50,compute_50" -gencode=arch=compute_52,code="sm_52,compute_52" -I/usr/l
ocal/cuda/include -I. --ptxas-options="-v" --maxrregcount=128 -o equi/cuda_equi.o -c equi/cuda_equi.cu
/bin/bash: nvcc: command not found
Makefile:2669: recipe for target 'equi/cuda_equi.o' failed
make[2]: *** [equi/cuda_equi.o] Error 127
make[2]: Leaving directory '/home/waqas/ccminer'
Makefile:2201: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/waqas/ccminer'
Makefile:654: recipe for target 'all' failed
make: *** [all] Error 2

rename the var and only show warnings with --debug
5% improvement by the vshl asm swap functions, mixed shl+add inst.,

Add also xchg(x, y) func and XCHG(x, y) define in cuda_helper for later use...

other jh changes are mainly for the beauty of the code...

Signed-off-by: Tanguy Pruvot <[email protected]>
i had to clean it... lot of unused defines...
This allow to get 69 regs used (tested on linux) 69 or 72 make
the compiler to use 64 regs which is not enough on the 750Ti
for optimal performance...
ccminer.cpp begins to be too big...
shavite is faster, echo doesn't really change due to the reg. overload

This changes allow custom lauchbounds without other code changes and improve
the portability against different devices.

also set a minimum throughput to 1024 for these algos (shared mem req. size)
made for linux and require libpci-dev (optional)

if libpci is not installed, card's vendor names are not handled...

Note: only a few vendor names were added, common GeForce vendors.

Signed-off-by: Tanguy Pruvot <[email protected]>
Fedora libpci devel package is named pciutils-devel
Debian/Ubuntu is libpci-dev

Slackware lib requires libz... i added the dependency in configure.ac
_WIN32 is also defined on x64 builds...

+ fix compat/getopt dos2unix (there was mixed CRLF)
make a lot of cpu validation errors on windows,
to be double checked in the next version...

This reverts commit 1187a6e.
for the day nvidia will fix their nvmlDeviceGetPciInfo api..
so... pciutils branch is no more required on windows :p
fallbacks on v2 nvml exports and check api implementation on call
--pstate 0 is an alternative to clocks values to set the device in P0
mode, 1 will set appl. clocks to default P1 clocks, 2 to default P2..

--plimit 150W really works on the 9xx and allow to limit/reduce the gpu usage

Note: nvml interface is only available on linux and windows x64

Signed-off-by: Tanguy Pruvot <[email protected]>
and show log on start if set/changed without --debug
--keep-clocks option prevent reset clocks on exit...
Supcoin seems.... dead and the algo was not supported on all devices
Used by Chaincoin and Flaxscript
seen on yiimp benchs, PNY duplicate could be for usb keys only
also query the led level and fix OV delta output

note: the Gigabyte 1080 G1 seems not compatible with the current nvapi
you can now use --led=0xFF00FF to change the color/level (windows only)

for non-rvb standard nvidia devices, you can use a level value (0 to 100)

ps: i really need to find how to turn them off on linux, not found yet...
and rename RVB to RGB, french typo...
disabled by default, require --led=100 on nvidia compatible devices

Gigabyte RGB led hack is not perfect for the moment, can fail and require a reboot.
sample usage if GPU #0 is RVB and GPU #1 a generic led:

ccminer --led=0x00ff00,100,mining to put the led on while the gpus are scanning
rewrote almost properly ;)
without that, no way to read sizes > 4GB on x86 binaries
Signed-off-by: Tanguy Pruvot <[email protected]>
sha512/ripemd swab

this was preview 2
drop ripemd.cu and remove unused kernels
also reduce the few errors on coins using shared mem
zotac cards doesnt allow a real RGB value, so i converted manually
the card seems to handle it, but seems to lock sometimes for some time...

colors can be tested with "ccminer -d 2 --led=0x1f1f00 -Dn"

but... unsure the card handle it fast enough to be fully usable
@tpruvot tpruvot deleted the cuda-8 branch January 4, 2018 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants