ccminer-cryptonight
ccminer-cryptonight copied to clipboard
Hardcoded GPU count = 8
Hi.
You have hardcoded count for GPU and it is equals 8 As a result this miner do not want to launch on systems with more than 8 GPU
It fails cryptonight/cryptonight.cu at 106 line
extern "C" void cuda_deviceinfo(int GPU_N)
{
cudaError_t err;
for(int i = 0; i < GPU_N; i++)
{
cudaDeviceProp props;
err = cudaGetDeviceProperties(&props, device_map[i]);
if(err != cudaSuccess)
{
/// LOOK HERE it fails when i = 9 you just can add this info to output
printf("\nGPU %d: %s\n%s line %d\n", device_map[i], cudaGetErrorString(err), __FILE__, __LINE__);
exit(1);
}
device_name[i] = strdup(props.name);
device_mpcount[i] = props.multiProcessorCount;
device_arch[i][0] = props.major;
device_arch[i][1] = props.minor;
}
}
I've inspect code and find that problem is deep - there are many places in code where many arrays initialized like whatever[8] - I guess most of this arrays are related to GPU fixed number
So far nobody has complained here about this limit. At the time this code was written it was not possible to have more than 8 cards. It still isn't possible under Windows. I could replace the 8 with MAX_GPUS or something, that would be the easiest change.
So far nobody has complained here about this limit.
Because this guys mine ethereum right now :)
It will be very good to have MAX_GPUS constant and you should better set it to value more than 19 :)
http://www.anandtech.com/show/11739/asus-announces-b250-expert-mining-motherboard-19-expansions-slots
I have added MAX_GPU now with release 2.05 :-)
Hello, tried 2.06beta with MAX_GPUS=12 and got following error:
[2017-11-08 10:14:31] 12 CUDA devices detected
[2017-11-08 10:14:34] Starting Stratum on stratum+tcp://pool.supportxmr.com:7777
[2017-11-08 10:14:34] GPU #0: GeForce GTX 1060 6GB (10 SMX), using 40 blocks of 32 threads
[2017-11-08 10:14:34] 12 miner threads started
[2017-11-08 10:14:34] GPU #1: GeForce GTX 1060 6GB (10 SMX), using 40 blocks of 32 threads
[2017-11-08 10:14:34] GPU #5: GeForce GTX 1060 6GB (10 SMX), using 40 blocks of 32 threads
[2017-11-08 10:14:34] GPU #7: GeForce GTX 1060 6GB (10 SMX), using 40 blocks of 32 threads
[2017-11-08 10:14:34] GPU #6: GeForce GTX 1060 6GB (10 SMX), using 40 blocks of 32 threads
[2017-11-08 10:14:34] GPU #10: GeForce GTX 1060 6GB (10 SMX), using 40 blocks of 32 threads
[2017-11-08 10:14:34] GPU #2: GeForce GTX 1060 6GB (10 SMX), using 40 blocks of 32 threads
[2017-11-08 10:14:34] GPU #8: GeForce GTX 1060 6GB (10 SMX), using 40 blocks of 32 threads
[2017-11-08 10:14:34] GPU #4: GeForce GTX 1060 6GB (10 SMX), using 40 blocks of 32 threads
[2017-11-08 10:14:34] GPU #11: GeForce GTX 1060 6GB (10 SMX), using 40 blocks of 32 threads
[2017-11-08 10:14:34] GPU #3: GeForce GTX 1060 6GB (10 SMX), using 40 blocks of 32 threads
[2017-11-08 10:14:34] GPU #9: GeForce GTX 1060 6GB (10 SMX), using 40 blocks of 32 threads
[2017-11-08 10:14:34] Pool set diff to 25000.1
[2017-11-08 10:14:34] Stratum detected new block
[2017-11-08 10:14:40] GPU #5: GeForce GTX 1060 6GB, 200.93 H/s (200.88 H/s avg)
[2017-11-08 10:14:40] GPU #4: GeForce GTX 1060 6GB, 200.84 H/s (200.78 H/s avg)
[2017-11-08 10:14:41] GPU #6: GeForce GTX 1060 6GB, 200.50 H/s (200.45 H/s avg)
[2017-11-08 10:14:41] GPU #0: GeForce GTX 1060 6GB, 200.39 H/s (200.38 H/s avg)
GPU 0: invalid argument
cryptonight/cuda_cryptonight_extra.cu line 176
After some experiments with "-d" flag, got following results: -d 0,1,2,3,4,5,6,7 works fine -d 0,1,2,3,4,5,6,10 works fine -d 0,1,2,3,4,5,6,7,8,9 gives: "cryptonight/cuda_cryptonight_extra.cu line 176" -d 0,1,2,3,4,5,10,11 gives: "Non-existant CUDA device '11' specified in -d option"
EDIT: got new error... : -d 0,1,2,3,4,5,6,7,8 GPU 4: OS call failed or operation not supported on this OS cryptonight/cuda_cryptonight_extra.cu line 209
I forgot to replace one hardcoded 8 with MAX_GPU. That was causing the "invalid argument". Also fixed a bug in the -d option
Thanks. Works fine with 12 gpu's :)