icarus112's picture
Upload folder using huggingface_hub
1c59946 verified
// TM reset-per-step kernel.
extern "C" __global__
void tm_reset_step(
unsigned int * __restrict__ cell_active_bits,
unsigned int * __restrict__ cell_winner_bits,
unsigned int * __restrict__ cell_predictive_bits,
unsigned int * __restrict__ prev_active_bits,
unsigned int * __restrict__ prev_winner_bits,
unsigned char * __restrict__ col_predicted,
unsigned int * __restrict__ unpredicted_count,
unsigned int * __restrict__ burst_cols_count,
unsigned int * __restrict__ col_best_match,
unsigned int bits_words,
unsigned int n_cols
) {
unsigned int tid_global = blockIdx.x * blockDim.x + threadIdx.x;
if (tid_global < bits_words) {
prev_active_bits[tid_global] = cell_active_bits[tid_global];
prev_winner_bits[tid_global] = cell_winner_bits[tid_global];
cell_active_bits[tid_global] = 0u;
cell_winner_bits[tid_global] = 0u;
cell_predictive_bits[tid_global] = 0u;
}
if (tid_global < n_cols) {
col_predicted[tid_global] = 0;
col_best_match[tid_global] = 0u;
}
if (tid_global == 0) {
unpredicted_count[0] = 0u;
burst_cols_count[0] = 0u;
}
}