                                context.active_read_list.end(),
                                compute_hmm_windows<system>(context, batch.device));
 
+#if ENABLE_LMEM_PATH
     if (!baq_use_lmem)
+#endif
     {
         // compute the index and size of the HMM matrices
         baq.matrix_index.resize(num_active + 1);

    vector<system, uint32>& baq_state = context.temp_u32_2;

    // check if we can use the lmem kernel
#if 0
    // note: the lmem path is effectively broken due to the varying band width
    const bool baq_use_lmem = (batch.host->max_read_size <= LMEM_MAX_READ_LEN);
    static bool baq_lmem_warning_printed = false;
#else
    constexpr bool baq_use_lmem = false;
    static bool baq_lmem_warning_printed = true;
#endif

    if (!baq_use_lmem && !baq_lmem_warning_printed)
    {
        fprintf(stderr, "WARNING: read size exceeds LMEM_MAX_READ_LEN, using fallback path for BAQ\n");
        baq_lmem_warning_printed = true;
    }

    timer<system> baq_setup, baq_hmm, baq_postprocess;



//#define GUARD_BAND(z) ((z) > 0 ? (z) : 0)
#define GUARD_BAND(z) (z)
#endif

template <target_system system>
struct compute_hmm_windows : public lambda<system>
