@@ -312,7 +312,6 @@ void StarComplexityGen::fillStarMap(unsigned numStars)
312
312
313
313
ecolab::DeviceType<BlockEvaluator> block (blockSize, numStars,elemStars);
314
314
Event resultSwapped, alreadySeenSwapped, starMapPopulated,backedResultsReset;
315
- atomic<bool > populating=false ;
316
315
atomic<unsigned > resultBufferConsumed=0 ;
317
316
const unsigned numOps=1 <<(numStars-1 );
318
317
@@ -370,39 +369,23 @@ void StarComplexityGen::fillStarMap(unsigned numStars)
370
369
handler.host_task ([&]() {
371
370
resultBufferConsumed=0 ;
372
371
populateStarMap ();
373
- // if (!lastLoop)
374
- // {
375
- // block->alreadySeenBacked.clear();
376
- // for (auto& k: starMap) block->alreadySeenBacked.push_back(k.first);
377
- // // push update already seen vector to device
378
- // alreadySeenSwapped=syclQ().single_task
379
- // (compute,
380
- // [=,block=&*block]{
381
- // block->alreadySeen.swap(block->alreadySeenBacked);
382
- // });
383
- // }
384
- populating=false ;
385
372
});
386
373
});
387
374
388
375
backedResultsReset=syclQ ().parallel_for
389
376
(blockSize,starMapPopulated,[block=&*block](auto i){block->backedResult [i].reset ();});
390
-
391
- // Event::wait({backedResultsReset});
392
- // resultBufferConsumed=0;
393
377
};
394
378
395
379
for (unsigned i=0 ; i<block->numGraphs ; i+=blockSize)
396
380
{
397
- // if (resultBufferConsumed+numOps>=OutputBuffer::maxQ)
398
- // {
399
- // consumeResults(i+blockSize>=block->numGraphs);
400
- // cout<<"pausing..."<<endl;
401
- // backedResultsReset.wait();
402
- // // while (resultBufferConsumed)
403
- // // usleep(1000); // pause until results consumed
404
-
405
- // }
381
+ // if we're in danger of blowing the buffer, stop submitting compute tasks
382
+ if (resultBufferConsumed+numOps>=OutputBuffer::maxQ)
383
+ {
384
+ if (eventStatus (backedResultsReset)==sycl::info::event_command_status::complete)
385
+ consumeResults (i+blockSize>=block->numGraphs );
386
+ cout<<" pausing..." <<endl;
387
+ backedResultsReset.wait ();
388
+ }
406
389
407
390
// compute a block of graphs
408
391
compute.push_back
0 commit comments