Back to Cutlass

CUTLASS: manifest.h Source File

docs/manifest_8h_source.html

4.4.26.6 KB
Original Source

| | CUTLASS

CUDA Templates for Linear Algebra Subroutines and Solvers |

manifest.h

Go to the documentation of this file.

1 /***************************************************************************************************

2 * Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved.

3 *

4 * Redistribution and use in source and binary forms, with or without modification, are permitted

5 * provided that the following conditions are met:

6 * * Redistributions of source code must retain the above copyright notice, this list of

7 * conditions and the following disclaimer.

8 * * Redistributions in binary form must reproduce the above copyright notice, this list of

9 * conditions and the following disclaimer in the documentation and/or other materials

10 * provided with the distribution.

11 * * Neither the name of the NVIDIA CORPORATION nor the names of its contributors may be used

12 * to endorse or promote products derived from this software without specific prior written

13 * permission.

14 *

15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR

16 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND

17 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,

19 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;

20 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,

21 * STRICT LIABILITY, OR TOR (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE

22 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

23 *

24 **************************************************************************************************/

25

32 #pragma once

33

34 #include <list>

35 #include <memory>

36 #include <map>

37

39

40 #include "library.h"

41

43

44 namespace cutlass {

45 namespace library {

46

48

50 using OperationVector = std::vector<std::unique_ptr<Operation>>;

51

53

55 class Manifest {

56 private:

57

59OperationVector operations_;

60

61 public:

62

64Status initialize();

65

67void reserve(size_t operation_count);

68

70Status release();

71

73void append(Operation *operation_ptr);

74

76OperationVector const &operations() const;

77

79 OperationVector::const_iterator begin() const;

80

82 OperationVector::const_iterator end() const;

83 };

84

86

87 } // namespace library

88 } // namespace cutlass

89

cutlass

Definition: aligned_buffer.h:35

cutlass::library::Manifest::append

void append(Operation *operation_ptr)

Appends an operation and takes ownership.

cutlass::library::Operation

Base class for all device-wide operations.

Definition: library.h:418

cutlass::library::Manifest

Manifest of CUTLASS Library.

Definition: manifest.h:55

library.h

CUTLASS Library is an object-oriented approach to managing operations implemented by CUTLASS...

cutlass::library::Manifest::operations

OperationVector const & operations() const

Returns an iterator to the first operation.

cutlass::library::OperationVector

std::vector< std::unique_ptr< Operation >> OperationVector

List of operations.

Definition: manifest.h:50

cutlass::library::Manifest::release

Status release()

Graceful shutdown.

cutlass::library::Manifest::initialize

Status initialize()

Top-level initialization.

cutlass::library::Manifest::reserve

void reserve(size_t operation_count)

Used for initialization.

cutlass::library::Manifest::end

OperationVector::const_iterator end() const

Returns a const iterator.

cutlass::Status

Status

Status code returned by CUTLASS operations.

Definition: cutlass.h:39

cutlass::library::Manifest::begin

OperationVector::const_iterator begin() const

Returns a const iterator.


Generated by 1.8.11