File: GPUQREngine_FrontState.hpp

package info (click to toggle)
suitesparse 1%3A5.8.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 152,716 kB
  • sloc: ansic: 774,385; cpp: 24,213; makefile: 6,310; fortran: 1,927; java: 1,826; csh: 1,686; ruby: 725; sh: 535; perl: 225; python: 209; sed: 164; awk: 60
file content (30 lines) | stat: -rw-r--r-- 1,227 bytes parent folder | download | duplicates (4)
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