I Need Help To Start Ccminer

Discussion in 'Technical Support' started by icy_gumdrops, May 31, 2016.

  1. 2017/12/15 - Decred v1.1.2 released! → Release Notes  → Downloads
  1. icy_gumdrops

    icy_gumdrops New Member

    May 31, 2016
    9
    0
    Male
    Orlando, FL
    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?
     
  2. root

    root Member

    Feb 3, 2016
    381
    76
    ccminer is for Nvidia cards.

    What OS are you running ?
    What GPU do you have ?
    What GPU drivers ?

    ...
    ...
    __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);
    ...
    ...
    ...
     
  3. icy_gumdrops

    icy_gumdrops New Member

    May 31, 2016
    9
    0
    Male
    Orlando, FL
    Windows 10 with a nvidia geforce gtx 555. How do I see what drivers I have?
     
  4. root

    root Member

    Feb 3, 2016
    381
    76
  5. icy_gumdrops

    icy_gumdrops New Member

    May 31, 2016
    9
    0
    Male
    Orlando, FL
    Yeah it is pretty old. Thanks for the help :)
     
  6. francis1505

    francis1505 New Member

    Aug 22, 2016
    1
    0
    Male
    Brazil
    I have the same problem using a GTX650 ...
    O.S. : Windows 7 64x
    Updated drivers .
     
  7. Steace

    Steace New Member

    Jan 27, 2018
    1
    0
    Male
    Montréal, Canada
    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
     

Share This Page