{
ggml_compute_forward_cont(params, tensor);
} break;
- case GGML_OP_RESHAPE:
- {
- ggml_compute_forward_reshape(params, tensor);
- } break;
- case GGML_OP_VIEW:
- {
- ggml_compute_forward_view(params, tensor);
- } break;
- case GGML_OP_PERMUTE:
- {
- ggml_compute_forward_permute(params, tensor);
- } break;
- case GGML_OP_TRANSPOSE:
- {
- ggml_compute_forward_transpose(params, tensor);
- } break;
case GGML_OP_GET_ROWS:
{
ggml_compute_forward_get_rows(params, tensor);
{
// nop
} break;
+ case GGML_OP_RESHAPE:
+ {
+ // nop
+ } break;
+ case GGML_OP_PERMUTE:
+ {
+ // nop
+ } break;
+ case GGML_OP_VIEW:
+ {
+ // nop
+ } break;
+ case GGML_OP_TRANSPOSE:
+ {
+ // nop
+ } break;
case GGML_OP_COUNT:
{
GGML_ABORT("fatal error");
for (int node_n = 0; node_n < cgraph->n_nodes && atomic_load_explicit(&tp->abort, memory_order_relaxed) != node_n; node_n++) {
struct ggml_tensor * node = cgraph->nodes[node_n];
+ if (ggml_op_is_empty(node->op)) {
+ // skip NOPs
+ continue;
+ }
+
ggml_compute_forward(¶ms, node);
if (state->ith == 0 && cplan->abort_callback &&
ggml_compute_forward_dup(params, dst);
}
-// ggml_compute_forward_reshape
-
-void ggml_compute_forward_reshape(
- const ggml_compute_params * params,
- ggml_tensor * dst) {
- // NOP
- GGML_UNUSED(params);
- GGML_UNUSED(dst);
-}
-
-// ggml_compute_forward_view
-
-void ggml_compute_forward_view(
- const ggml_compute_params * params,
- ggml_tensor * dst) {
- // NOP
- GGML_UNUSED(params);
- GGML_UNUSED(dst);
-}
-
-// ggml_compute_forward_permute
-
-void ggml_compute_forward_permute(
- const ggml_compute_params * params,
- ggml_tensor * dst) {
- // NOP
- GGML_UNUSED(params);
- GGML_UNUSED(dst);
-}
-
-// ggml_compute_forward_transpose
-
-void ggml_compute_forward_transpose(
- const ggml_compute_params * params,
- ggml_tensor * dst) {
- // NOP
- GGML_UNUSED(params);
- GGML_UNUSED(dst);
-}
-
// ggml_compute_forward_get_rows
static void ggml_compute_forward_get_rows_q(
void ggml_compute_forward_set(const struct ggml_compute_params * params, struct ggml_tensor * dst);
void ggml_compute_forward_cpy(const struct ggml_compute_params * params, struct ggml_tensor * dst);
void ggml_compute_forward_cont(const struct ggml_compute_params * params, struct ggml_tensor * dst);
-void ggml_compute_forward_reshape(const struct ggml_compute_params * params, struct ggml_tensor * dst);
-void ggml_compute_forward_view(const struct ggml_compute_params * params, struct ggml_tensor * dst);
-void ggml_compute_forward_permute(const struct ggml_compute_params * params, struct ggml_tensor * dst);
-void ggml_compute_forward_transpose(const struct ggml_compute_params * params, struct ggml_tensor * dst);
void ggml_compute_forward_get_rows(const struct ggml_compute_params * params, struct ggml_tensor * dst);
void ggml_compute_forward_get_rows_back(const struct ggml_compute_params * params, struct ggml_tensor * dst);
void ggml_compute_forward_set_rows(const struct ggml_compute_params * params, struct ggml_tensor * dst);