Skip to content

Commit 4b46e3e

Browse files
LaiQuan-conquerPanZezhong1725
authored andcommitted
issue/1031 merge T1-1-37
1 parent 3e15b81 commit 4b46e3e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+5642
-1
lines changed

include/infinicore/ops/diff.hpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#pragma once
2+
3+
#include "../device.hpp"
4+
#include "../graph/graph.hpp"
5+
#include "common/op.hpp"
6+
7+
namespace infinicore::op {
8+
9+
INFINICORE_GRAPH_OP_CLASS(Diff, Tensor, const Tensor &, int, int);
10+
11+
Tensor diff(const Tensor &x, int n = 1, int dim = -1);
12+
void diff_(Tensor y, const Tensor &x, int n = 1, int dim = -1);
13+
14+
} // namespace infinicore::op
15+

include/infinicore/ops/digamma.hpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#pragma once
2+
3+
#include "../device.hpp"
4+
#include "../graph/graph.hpp"
5+
#include "common/op.hpp"
6+
7+
namespace infinicore::op {
8+
9+
INFINICORE_GRAPH_OP_CLASS(Digamma, Tensor, const Tensor &);
10+
11+
Tensor digamma(const Tensor &x);
12+
void digamma_(Tensor y, const Tensor &x);
13+
14+
} // namespace infinicore::op
15+

include/infinicore/ops/dist.hpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#pragma once
2+
3+
#include "../device.hpp"
4+
#include "../graph/graph.hpp"
5+
#include "common/op.hpp"
6+
7+
namespace infinicore::op {
8+
9+
INFINICORE_GRAPH_OP_CLASS(Dist, Tensor, const Tensor &, const Tensor &, double);
10+
11+
Tensor dist(const Tensor &x1, const Tensor &x2, double p = 2.0);
12+
void dist_(Tensor y, const Tensor &x1, const Tensor &x2, double p = 2.0);
13+
14+
} // namespace infinicore::op
15+

include/infinicore/ops/logdet.hpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#pragma once
2+
3+
#include "../device.hpp"
4+
#include "../graph/graph.hpp"
5+
#include "common/op.hpp"
6+
7+
namespace infinicore::op {
8+
9+
INFINICORE_GRAPH_OP_CLASS(Logdet, Tensor, const Tensor &);
10+
11+
Tensor logdet(const Tensor &x);
12+
void logdet_(Tensor y, const Tensor &x);
13+
14+
} // namespace infinicore::op
15+

include/infinicore/ops/pad.hpp

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#pragma once
2+
3+
#include "../device.hpp"
4+
#include "../graph/graph.hpp"
5+
#include "common/op.hpp"
6+
7+
#include <string>
8+
#include <vector>
9+
10+
namespace infinicore::op {
11+
12+
INFINICORE_GRAPH_OP_CLASS(Pad, Tensor, const Tensor &, const std::vector<int> &, const std::string &, double);
13+
14+
Tensor pad(const Tensor &x,
15+
const std::vector<int> &pad,
16+
const std::string &mode = "constant",
17+
double value = 0.0);
18+
19+
void pad_(Tensor y,
20+
const Tensor &x,
21+
const std::vector<int> &pad,
22+
const std::string &mode = "constant",
23+
double value = 0.0);
24+
25+
} // namespace infinicore::op
26+

include/infiniop.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929
#include "infiniop/ops/dequant/per_tensor_dequant_int8.h"
3030
#include "infiniop/ops/dequantize_awq.h"
3131
#include "infiniop/ops/dequantize_gptq.h"
32+
#include "infiniop/ops/diff.h"
33+
#include "infiniop/ops/digamma.h"
34+
#include "infiniop/ops/dist.h"
3235
#include "infiniop/ops/embedding.h"
3336
#include "infiniop/ops/equal.h"
3437
#include "infiniop/ops/flash_attention.h"
@@ -59,11 +62,13 @@
5962
#include "infiniop/ops/logaddexp.h"
6063
#include "infiniop/ops/logaddexp2.h"
6164
#include "infiniop/ops/logcumsumexp.h"
65+
#include "infiniop/ops/logdet.h"
6266
#include "infiniop/ops/lp_norm.h"
6367
#include "infiniop/ops/masked_select.h"
6468
#include "infiniop/ops/mul.h"
6569
#include "infiniop/ops/multi_margin_loss.h"
6670
#include "infiniop/ops/ones.h"
71+
#include "infiniop/ops/pad.h"
6772
#include "infiniop/ops/paged_attention.h"
6873
#include "infiniop/ops/paged_attention_prefill.h"
6974
#include "infiniop/ops/paged_caching.h"

include/infiniop/ops/diff.h

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#ifndef __INFINIOP_DIFF_API_H__
2+
#define __INFINIOP_DIFF_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopDiffDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateDiffDescriptor(infiniopHandle_t handle,
9+
infiniopDiffDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x,
12+
int dim,
13+
int n);
14+
15+
__C __export infiniStatus_t infiniopGetDiffWorkspaceSize(infiniopDiffDescriptor_t desc, size_t *size);
16+
17+
__C __export infiniStatus_t infiniopDiff(infiniopDiffDescriptor_t desc,
18+
void *workspace,
19+
size_t workspace_size,
20+
void *y,
21+
const void *x,
22+
void *stream);
23+
24+
__C __export infiniStatus_t infiniopDestroyDiffDescriptor(infiniopDiffDescriptor_t desc);
25+
26+
#endif

include/infiniop/ops/digamma.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef __INFINIOP_DIGAMMA_API_H__
2+
#define __INFINIOP_DIGAMMA_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopDigammaDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateDigammaDescriptor(infiniopHandle_t handle,
9+
infiniopDigammaDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x);
12+
13+
__C __export infiniStatus_t infiniopGetDigammaWorkspaceSize(infiniopDigammaDescriptor_t desc, size_t *size);
14+
15+
__C __export infiniStatus_t infiniopDigamma(infiniopDigammaDescriptor_t desc,
16+
void *workspace,
17+
size_t workspace_size,
18+
void *y,
19+
const void *x,
20+
void *stream);
21+
22+
__C __export infiniStatus_t infiniopDestroyDigammaDescriptor(infiniopDigammaDescriptor_t desc);
23+
24+
#endif

include/infiniop/ops/dist.h

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#ifndef __INFINIOP_DIST_API_H__
2+
#define __INFINIOP_DIST_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopDistDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateDistDescriptor(infiniopHandle_t handle,
9+
infiniopDistDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x1,
12+
infiniopTensorDescriptor_t x2,
13+
double p);
14+
15+
__C __export infiniStatus_t infiniopGetDistWorkspaceSize(infiniopDistDescriptor_t desc, size_t *size);
16+
17+
__C __export infiniStatus_t infiniopDist(infiniopDistDescriptor_t desc,
18+
void *workspace,
19+
size_t workspace_size,
20+
void *y,
21+
const void *x1,
22+
const void *x2,
23+
void *stream);
24+
25+
__C __export infiniStatus_t infiniopDestroyDistDescriptor(infiniopDistDescriptor_t desc);
26+
27+
#endif

include/infiniop/ops/logdet.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef __INFINIOP_LOGDET_API_H__
2+
#define __INFINIOP_LOGDET_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopLogdetDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateLogdetDescriptor(infiniopHandle_t handle,
9+
infiniopLogdetDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x);
12+
13+
__C __export infiniStatus_t infiniopGetLogdetWorkspaceSize(infiniopLogdetDescriptor_t desc, size_t *size);
14+
15+
__C __export infiniStatus_t infiniopLogdet(infiniopLogdetDescriptor_t desc,
16+
void *workspace,
17+
size_t workspace_size,
18+
void *y,
19+
const void *x,
20+
void *stream);
21+
22+
__C __export infiniStatus_t infiniopDestroyLogdetDescriptor(infiniopLogdetDescriptor_t desc);
23+
24+
#endif

0 commit comments

Comments
 (0)