• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

daisytuner / sdfglib / 16454139884

22 Jul 2025 07:52PM UTC coverage: 65.338% (-0.7%) from 66.011%
16454139884

Pull #156

github

web-flow
Merge cf357586f into 4c085404b
Pull Request #156: adds draft for GEMM node

0 of 130 new or added lines in 1 file covered. (0.0%)

110 existing lines in 10 files now uncovered.

8326 of 12743 relevant lines covered (65.34%)

132.57 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

73.53
/src/data_flow/library_nodes/barrier_local_node.cpp
1
#include "sdfg/data_flow/library_nodes/barrier_local_node.h"
2

3
#include "sdfg/codegen/language_extensions/c_language_extension.h"
4
#include "sdfg/codegen/language_extensions/cpp_language_extension.h"
5
#include "sdfg/codegen/language_extensions/cuda_language_extension.h"
6

7
namespace sdfg {
8
namespace data_flow {
9

10
BarrierLocalNode::
11
    BarrierLocalNode(size_t element_id, const DebugInfo& debug_info, const graph::Vertex vertex, DataFlowGraph& parent)
7✔
12
    : LibraryNode(element_id, debug_info, vertex, parent, LibraryNodeType_BarrierLocal, {}, {}, true) {
7✔
13

14
      };
7✔
15

16
void BarrierLocalNode::validate(const Function& function) const {
3✔
17
    // TODO: Implement
18
}
3✔
19

UNCOV
20
symbolic::SymbolSet BarrierLocalNode::symbols() const { return {}; };
×
21

22
std::unique_ptr<DataFlowNode> BarrierLocalNode::clone(size_t element_id, const graph::Vertex vertex, DataFlowGraph& parent)
1✔
23
    const {
24
    return std::unique_ptr<BarrierLocalNode>(new BarrierLocalNode(element_id, this->debug_info_, vertex, parent));
1✔
UNCOV
25
};
×
26

27
void BarrierLocalNode::replace(const symbolic::Expression& old_expression, const symbolic::Expression& new_expression) {
×
28
    // Do nothing
29
};
×
30

31
nlohmann::json BarrierLocalNodeSerializer::serialize(const sdfg::data_flow::LibraryNode& library_node) {
1✔
32
    if (library_node.code() != data_flow::LibraryNodeType_BarrierLocal) {
1✔
UNCOV
33
        throw std::runtime_error("Invalid library node code");
×
34
    }
35
    nlohmann::json j;
1✔
36
    j["code"] = std::string(library_node.code().value());
1✔
37
    return j;
1✔
38
}
1✔
39

40
data_flow::LibraryNode& BarrierLocalNodeSerializer::deserialize(
1✔
41
    const nlohmann::json& j, sdfg::builder::StructuredSDFGBuilder& builder, sdfg::structured_control_flow::Block& parent
42
) {
43
    auto code = j["code"].get<std::string>();
1✔
44
    if (code != data_flow::LibraryNodeType_BarrierLocal.value()) {
1✔
UNCOV
45
        throw std::runtime_error("Invalid library node code");
×
46
    }
47
    return builder.add_library_node<data_flow::BarrierLocalNode>(parent, DebugInfo());
1✔
48
};
1✔
49

50
void BarrierLocalNodeDispatcher::dispatch(codegen::PrettyPrinter& stream) {
1✔
51
    if (dynamic_cast<codegen::CLanguageExtension*>(&this->language_extension_) != nullptr) {
1✔
UNCOV
52
        throw std::runtime_error(
×
53
            "ThreadBarrierDispatcher is not supported for C language extension. Use CUDA language "
54
            "extension instead."
55
        );
56
    } else if (dynamic_cast<codegen::CPPLanguageExtension*>(&this->language_extension_) != nullptr) {
1✔
UNCOV
57
        throw std::runtime_error(
×
58
            "ThreadBarrierDispatcher is not supported for C++ language extension. Use CUDA "
59
            "language extension instead."
60
        );
61
    } else if (dynamic_cast<codegen::CUDALanguageExtension*>(&this->language_extension_) != nullptr) {
1✔
62
        stream << "__syncthreads();" << std::endl;
1✔
63
    } else {
1✔
UNCOV
64
        throw std::runtime_error("Unsupported language extension for ThreadBarrierDispatcher");
×
65
    }
66
}
1✔
67

68

69
} // namespace data_flow
70
} // namespace sdfg
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc