1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
// =============================================================================
// === GPUQREngine/Include/GPUQREngine_FrontState.hpp ==========================
// =============================================================================
//
// The front state refers to the finite state machine model for factorizing
// fronts using GPUQREngine.
//
// A front will progress through these fronts, as dictated by
// FillWorkQueue and PostProcessing codes.
//
// =============================================================================
#ifndef GPUQRENGINE_FRONTSTATE_HPP
#define GPUQRENGINE_FRONTSTATE_HPP
enum FrontState
{
ALLOCATE_WAIT = 0, // Front not allocated yet
ASSEMBLE_S = 1, // Assembling rows of S
CHILD_WAIT = 2, // Waiting for children to be finished
FACTORIZE = 3, // Factorization under way
FACTORIZE_COMPLETE = 4, // Records an event to mark the end of the
// factorize
PARENT_WAIT = 5, // Waits for the parent to be allocated
PUSH_ASSEMBLE = 6, // Pushes contribution blocks to the parent
CLEANUP = 7, // Frees the front
DONE = 8 // Front totally finished
};
#endif
|