| 2122 | } |
| 2123 | |
| 2124 | void compute_altup_predict_node(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map) { |
| 2125 | size_t n = node.params.num_altup_inputs; |
| 2126 | const auto& coefs_buf = get_input(node, 0, nodes, node_index_map); |
| 2127 | |
| 2128 | std::vector<const __fp16*> stream_ptrs(n); |
| 2129 | for (size_t i = 0; i < n; i++) { |
| 2130 | stream_ptrs[i] = get_input(node, 1 + i, nodes, node_index_map).data_as<__fp16>(); |
| 2131 | } |
| 2132 | |
| 2133 | const auto& stream0_buf = get_input(node, 1, nodes, node_index_map); |
| 2134 | size_t seq_len = stream0_buf.shape[0]; |
| 2135 | size_t hidden_dim = stream0_buf.shape[1]; |
| 2136 | |
| 2137 | cactus_altup_predict_f16( |
| 2138 | coefs_buf.data_as<__fp16>(), |
| 2139 | stream_ptrs.data(), |
| 2140 | node.output_buffer.data_as<__fp16>(), |
| 2141 | n, seq_len, hidden_dim); |
| 2142 | } |
| 2143 | |
| 2144 | void compute_gaussian_topk_node(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map) { |
| 2145 | const auto& input_buf = get_input(node, 0, nodes, node_index_map); |
nothing calls this directly
no test coverage detected