Ignore:
Timestamp:
Jan 24, 2017, 9:54:32 AM (2 years ago)
Author:
cameron
Message:

u8u16 working with -mmap-buffering and segment pipeline parallelism

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/kernels/pipeline.cpp

    r5274 r5275  
    122122    Value * nextSegNo = iBuilder->CreateAdd(segNo, iBuilder->getSize(1));
    123123    unsigned last_kernel = kernels.size() - 1;
    124     Value * alreadyDone = kernels[last_kernel]->getTerminationSignal(instancePtrs[last_kernel]);
    125     iBuilder->CreateCondBr(alreadyDone, exitThreadBlock, segmentWait[0]);
    126    
    127124    Value * doFinal = ConstantInt::getNullValue(iBuilder->getInt1Ty());
    128 
     125   
     126    iBuilder->CreateBr(segmentWait[0]);
    129127    for (unsigned k = 0; k < kernels.size(); k++) {
    130128        iBuilder->SetInsertPoint(segmentWait[k]);
     
    136134        }
    137135        else {
    138             // If the kernel terminated in a previous block then the pipeline is done.
     136            // If the kernel terminated in a previous segment then the pipeline is done.
    139137            BasicBlock * completionTest = BasicBlock::Create(iBuilder->getContext(), kernels[k]->getName() + "Completed", threadFunc, 0);
    140138            iBuilder->CreateCondBr(cond, completionTest, segmentWait[k]);
Note: See TracChangeset for help on using the changeset viewer.