Skip to content

Commit 2c4c006

Browse files
authored
ggml : add inplace ops api in header file (leejet#219)
1 parent 758471b commit 2c4c006

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

include/ggml/ggml.h

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,11 @@ extern "C" {
539539
struct ggml_tensor * a,
540540
struct ggml_tensor * b);
541541

542+
GGML_API struct ggml_tensor * ggml_add1_inplace(
543+
struct ggml_context * ctx,
544+
struct ggml_tensor * a,
545+
struct ggml_tensor * b);
546+
542547
GGML_API struct ggml_tensor * ggml_acc(
543548
struct ggml_context * ctx,
544549
struct ggml_tensor * a,
@@ -562,24 +567,47 @@ extern "C" {
562567
struct ggml_tensor * a,
563568
struct ggml_tensor * b);
564569

570+
GGML_API struct ggml_tensor * ggml_sub_inplace(
571+
struct ggml_context * ctx,
572+
struct ggml_tensor * a,
573+
struct ggml_tensor * b);
574+
565575
GGML_API struct ggml_tensor * ggml_mul(
566576
struct ggml_context * ctx,
567577
struct ggml_tensor * a,
568578
struct ggml_tensor * b);
569579

580+
GGML_API struct ggml_tensor * ggml_mul_inplace(
581+
struct ggml_context * ctx,
582+
struct ggml_tensor * a,
583+
struct ggml_tensor * b);
584+
570585
GGML_API struct ggml_tensor * ggml_div(
571586
struct ggml_context * ctx,
572587
struct ggml_tensor * a,
573588
struct ggml_tensor * b);
574589

590+
GGML_API struct ggml_tensor * ggml_div_inplace(
591+
struct ggml_context * ctx,
592+
struct ggml_tensor * a,
593+
struct ggml_tensor * b);
594+
575595
GGML_API struct ggml_tensor * ggml_sqr(
576596
struct ggml_context * ctx,
577597
struct ggml_tensor * a);
578598

599+
GGML_API struct ggml_tensor * ggml_sqr_inplace(
600+
struct ggml_context * ctx,
601+
struct ggml_tensor * a);
602+
579603
GGML_API struct ggml_tensor * ggml_sqrt(
580604
struct ggml_context * ctx,
581605
struct ggml_tensor * a);
582606

607+
GGML_API struct ggml_tensor * ggml_sqrt_inplace(
608+
struct ggml_context * ctx,
609+
struct ggml_tensor * a);
610+
583611
GGML_API struct ggml_tensor * ggml_log(
584612
struct ggml_context * ctx,
585613
struct ggml_tensor * a);
@@ -614,31 +642,59 @@ extern "C" {
614642
struct ggml_context * ctx,
615643
struct ggml_tensor * a);
616644

645+
GGML_API struct ggml_tensor * ggml_abs_inplace(
646+
struct ggml_context * ctx,
647+
struct ggml_tensor * a);
648+
617649
GGML_API struct ggml_tensor * ggml_sgn(
618650
struct ggml_context * ctx,
619651
struct ggml_tensor * a);
620652

653+
GGML_API struct ggml_tensor * ggml_sgn_inplace(
654+
struct ggml_context * ctx,
655+
struct ggml_tensor * a);
656+
621657
GGML_API struct ggml_tensor * ggml_neg(
622658
struct ggml_context * ctx,
623659
struct ggml_tensor * a);
624660

661+
GGML_API struct ggml_tensor * ggml_neg_inplace(
662+
struct ggml_context * ctx,
663+
struct ggml_tensor * a);
664+
625665
GGML_API struct ggml_tensor * ggml_step(
626666
struct ggml_context * ctx,
627667
struct ggml_tensor * a);
628668

669+
GGML_API struct ggml_tensor * ggml_step_inplace(
670+
struct ggml_context * ctx,
671+
struct ggml_tensor * a);
672+
629673
GGML_API struct ggml_tensor * ggml_relu(
630674
struct ggml_context * ctx,
631675
struct ggml_tensor * a);
632676

677+
GGML_API struct ggml_tensor * ggml_relu_inplace(
678+
struct ggml_context * ctx,
679+
struct ggml_tensor * a);
680+
633681
// TODO: double-check this computation is correct
634682
GGML_API struct ggml_tensor * ggml_gelu(
635683
struct ggml_context * ctx,
636684
struct ggml_tensor * a);
637685

686+
GGML_API struct ggml_tensor * ggml_gelu_inplace(
687+
struct ggml_context * ctx,
688+
struct ggml_tensor * a);
689+
638690
GGML_API struct ggml_tensor * ggml_silu(
639691
struct ggml_context * ctx,
640692
struct ggml_tensor * a);
641693

694+
GGML_API struct ggml_tensor * ggml_silu_inplace(
695+
struct ggml_context * ctx,
696+
struct ggml_tensor * a);
697+
642698
// a - x
643699
// b - dy
644700
GGML_API struct ggml_tensor * ggml_silu_back(
@@ -652,10 +708,18 @@ extern "C" {
652708
struct ggml_context * ctx,
653709
struct ggml_tensor * a);
654710

711+
GGML_API struct ggml_tensor * ggml_norm_inplace(
712+
struct ggml_context * ctx,
713+
struct ggml_tensor * a);
714+
655715
GGML_API struct ggml_tensor * ggml_rms_norm(
656716
struct ggml_context * ctx,
657717
struct ggml_tensor * a);
658718

719+
GGML_API struct ggml_tensor * ggml_rms_norm_inplace(
720+
struct ggml_context * ctx,
721+
struct ggml_tensor * a);
722+
659723
// a - x
660724
// b - dy
661725
GGML_API struct ggml_tensor * ggml_rms_norm_back(

0 commit comments

Comments
 (0)