asbschmidt / CUDASW4

CUDASW++4.0: Ultra-fast GPU-based Smith-Waterman Protein Sequence Database Search
Apache License 2.0
32 stars 5 forks source link

assert((offset_in-group_size) <= SDIV(queryLength, 2) * 2); #3

Closed vladimirkhramkov closed 1 year ago

vladimirkhramkov commented 1 year ago

Why do we have this assertion in the float_kernels.cuh, function computeMiddlePass? It prevents from running align program with query sequences smaller than 63 characters long!

` const int final_out = queryLength % 64; const int from_thread_id = 32 - ((final_out+1)/2);

    assert((offset_in-group_size) <= SDIV(queryLength, 2) * 2);

    if (threadIdx.x>=from_thread_id) {
        checkHEindex(offset_out-from_thread_id, queryLength, __LINE__);
        assert((offset_in-group_size) <= SDIV(queryLength, 2) * 2);
        devTempHcol[offset_out-from_thread_id]=H_temp_out;
        devTempEcol[offset_out-from_thread_id]=E_temp_out;
    }

`

fkallen commented 1 year ago

Hi, this looks like leftover debug code. I will take a look.

fkallen commented 1 year ago

I pushed a fix. Could you check if this works for you?

vladimirkhramkov commented 1 year ago

Hi! Yes, it will work. I did the same fix.