I'm trying to use ccminer but when I try to run it all it does is say cuda error in func 'decred_cpu_setblock_52' at line 321 : invalid device symbol. Does anyone know what this means or how to fix it?
ccminer is for Nvidia cards. What OS are you running ? What GPU do you have ? What GPU drivers ? Spoiler: decred.cu code ... ... __host__ void decred_cpu_setBlock_52(uint32_t *penddata, const uint32_t *midstate, const uint32_t *ptarget) { uint32_t _ALIGN(64) data[24]; memcpy(data, midstate, 32); // pre swab32 for (int i=0; i<13; i++) data[8+i] = swab32(penddata); data[21] = 0x80000001; data[22] = 0; data[23] = 0x000005a0; CUDA_SAFE_CALL(cudaMemcpyToSymbol(d_data, data, 32 + 64, 0, cudaMemcpyHostToDevice)); } ... ... static bool init[MAX_GPUS] = { 0 }; // nonce position is different in decred #define DCR_NONCE_OFT32 35 extern "C" int scanhash_decred(int thr_id, struct work* work, uint32_t max_nonce, unsigned long *hashes_done) { uint32_t _ALIGN(64) endiandata[48]; uint32_t _ALIGN(64) midstate[8]; uint32_t *pdata = work->data; uint32_t *ptarget = work->target; uint32_t *pnonce = &pdata[DCR_NONCE_OFT32]; const uint32_t first_nonce = *pnonce; uint64_t targetHigh = ((uint64_t*)ptarget)[3]; int dev_id = device_map[thr_id]; int intensity = (device_sm[dev_id] > 500 && !is_windows()) ? 29 : 25; if (device_sm[dev_id] < 350) intensity = 22; uint32_t throughput = cuda_default_throughput(thr_id, 1U << intensity); if (init[thr_id]) throughput = min(throughput, max_nonce - first_nonce); int rc = 0; if (opt_benchmark) { targetHigh = 0x1ULL << 32; ptarget[6] = swab32(0xff); } if (!init[thr_id]) { cudaSetDevice(dev_id); if (opt_cudaschedule == -1 && gpu_threads == 1) { cudaDeviceReset(); // reduce cpu usage (linux) cudaSetDeviceFlags(cudaDeviceScheduleBlockingSync); cudaDeviceSetCacheConfig(cudaFuncCachePreferL1); CUDA_LOG_ERROR(); } CUDA_CALL_OR_RET_X(cudaMalloc(&d_resNonce[thr_id], NBN * sizeof(uint32_t)), -1); CUDA_CALL_OR_RET_X(cudaMallocHost(&h_resNonce[thr_id], NBN * sizeof(uint32_t)), -1); init[thr_id] = true; } memcpy(endiandata, pdata, 180); decred_midstate_128(midstate, endiandata); decred_cpu_setBlock_52(&pdata[32], midstate, ptarget); ... ... ...
I'd say your card is very old, but you may try to download latest drivers from here : http://www.nvidia.com/Download/index.aspx?lang=en-us Select 500 series.
Bump... Same problem! I'm using a GTX550TI and a GTX650 Well it work with the GTX650 but I need to take only this one. The problem is that I'm using that one for everything else than mining... Help will be very appreciate, thank you very much