| 16620 | |
| 16621 | |
| 16622 | static int ggml_get_n_tasks(struct ggml_tensor * node, int n_threads) { |
| 16623 | int n_tasks = 0; |
| 16624 | |
| 16625 | switch (node->op) { |
| 16626 | case GGML_OP_CPY: |
| 16627 | case GGML_OP_DUP: |
| 16628 | case GGML_OP_ADD: |
| 16629 | case GGML_OP_ADD1: |
| 16630 | case GGML_OP_ACC: |
| 16631 | { |
| 16632 | n_tasks = n_threads; |
| 16633 | } break; |
| 16634 | case GGML_OP_SUB: |
| 16635 | case GGML_OP_DIV: |
| 16636 | case GGML_OP_SQR: |
| 16637 | case GGML_OP_SQRT: |
| 16638 | case GGML_OP_LOG: |
| 16639 | case GGML_OP_SUM: |
| 16640 | case GGML_OP_SUM_ROWS: |
| 16641 | case GGML_OP_MEAN: |
| 16642 | case GGML_OP_ARGMAX: |
| 16643 | case GGML_OP_REPEAT: |
| 16644 | case GGML_OP_REPEAT_BACK: |
| 16645 | { |
| 16646 | n_tasks = 1; |
| 16647 | } break; |
| 16648 | case GGML_OP_UNARY: |
| 16649 | switch (ggml_get_unary_op(node)) { |
| 16650 | case GGML_UNARY_OP_ABS: |
| 16651 | case GGML_UNARY_OP_SGN: |
| 16652 | case GGML_UNARY_OP_NEG: |
| 16653 | case GGML_UNARY_OP_STEP: |
| 16654 | case GGML_UNARY_OP_TANH: |
| 16655 | case GGML_UNARY_OP_ELU: |
| 16656 | case GGML_UNARY_OP_RELU: |
| 16657 | case GGML_UNARY_OP_LEAKY: |
| 16658 | { |
| 16659 | n_tasks = 1; |
| 16660 | } break; |
| 16661 | |
| 16662 | case GGML_UNARY_OP_GELU: |
| 16663 | case GGML_UNARY_OP_GELU_QUICK: |
| 16664 | case GGML_UNARY_OP_SILU: |
| 16665 | { |
| 16666 | n_tasks = n_threads; |
| 16667 | } break; |
| 16668 | } |
| 16669 | break; |
| 16670 | case GGML_OP_SILU_BACK: |
| 16671 | case GGML_OP_MUL: |
| 16672 | case GGML_OP_NORM: |
| 16673 | case GGML_OP_RMS_NORM: |
| 16674 | case GGML_OP_RMS_NORM_BACK: |
| 16675 | case GGML_OP_GROUP_NORM: |
| 16676 | case GGML_OP_CONCAT: |
| 16677 | { |
| 16678 | n_tasks = n_threads; |
| 16679 | } break; |
no test coverage detected