Add rudimentary pcloud dumper and meshing with OFM & GP3
The OFM algo runs in fractions of a millisecond. GP3 runs in fractions of a second. I think if we can get more input data to the OFM or something akin to it, we will have a winner.
This commit is contained in:
@@ -102,6 +102,7 @@ averageIntensityBuffer(
|
||||
nDgramsPerStagingBufferFrame),
|
||||
averageIntensityBufferMlockPinner(
|
||||
averageIntensityBuffer.makeMlockPinner()),
|
||||
pcloudFrameDumper(deviceAttachmentSpec),
|
||||
tempStimulusFrameMem(0),
|
||||
tempStimulusFrame(
|
||||
FrameAssemblyDesc::SlotDesc{
|
||||
@@ -154,6 +155,8 @@ void PcloudStimulusProducer::start()
|
||||
std::cout << __func__ << ": Starting PcloudStimulusProducer for device "
|
||||
<< device->discoveredDevice.deviceIdentifier << std::endl;
|
||||
|
||||
pcloudFrameDumper.prepareForRun();
|
||||
|
||||
// Call ioUringAssemblyEngine setup() as the first step
|
||||
if (!ioUringAssemblyEngine.setup())
|
||||
{
|
||||
@@ -513,6 +516,23 @@ public:
|
||||
std::cerr << __func__ << ": Failed to compact and collate frame" << std::endl;
|
||||
} else
|
||||
{
|
||||
lock.unlockPrematurely();
|
||||
if (pcloudProducer.pcloudFrameDumper.isEnabled())
|
||||
{
|
||||
try
|
||||
{
|
||||
pcloudProducer.pcloudFrameDumper.dumpProducedFrame(
|
||||
*pcloudProducer.device,
|
||||
pcloudProducer.collationBuffer,
|
||||
context->frameAssemblyResult);
|
||||
}
|
||||
catch (const std::exception& e)
|
||||
{
|
||||
std::cerr << __func__ << ": Failed to dump pcloud frame: "
|
||||
<< e.what() << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
// Print execution durations
|
||||
auto assemblyDuration = pcloudProducer.ioUringAssemblyEngine.getAssemblyDuration();
|
||||
|
||||
Reference in New Issue
Block a user