AnsweredAssumed Answered

Strange bug after GPU upgrade

Question asked by pwvdendr on Oct 4, 2012
Latest reply on Oct 8, 2012 by drallan

I just replaced my HD 5450 with a HD 7950 and reinstalled the drivers & APP SDK, but it seems a few of my OpenCL programs now suddenly refuse to run. Using Java + JOCL (www.jocl.org), I get an EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000000b247bd7, pid=3812, tid=188

coming from aticaldd64.dll at calddiGetVersion (the pc, pid and tid numbers vary).

 

I have managed to reduce my kernel to this trivial example, launched on global work size 1 and with LP a float[1]. This triggers the above bug on GPU, but works flawlessly on CPU as well as on my other GPU.

 

typedef struct{ uint x; uint c; } mwc64x_state_t;

void MWC64X_SeedStreams(mwc64x_state_t *s) {
    ulong a=4077358422479273989UL;
    ulong b=1UL;
    ulong x=0;
    while(a!=0){
        x=x+b;
        b=b+b;
        a=a>>1;
    }
    s->x=(x/4294883355U);
    s->c=(x%4294883355U);
}

float MWC64X_NextFloat(mwc64x_state_t *s) {
    return ((float)(s->x ^ s->c))/65536.0f/65536.0f;
}

__kernel void generateAWGNandDecodeLLRlowmem(__global float *LP) {
    mwc64x_state_t rng;
    MWC64X_SeedStreams(&rng);
    LP[0] = MWC64X_NextFloat(&rng);
}

Attachments

Outcomes