Skip to content

Commit 4af8f0e

Browse files
authored
Merge pull request #1093 from InfiniTensor/issue/1031_T1-1-32
【比赛2025秋】T1-1-32
2 parents 4c8c314 + f0bc266 commit 4af8f0e

87 files changed

Lines changed: 3922 additions & 16 deletions

File tree

Some content is hidden

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

include/infinicore/ops/cat.hpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#pragma once
2+
3+
#include "common/op.hpp"
4+
5+
namespace infinicore::op {
6+
7+
Tensor cat(std::vector<Tensor> tensors, int dim);
8+
void cat_(Tensor out, std::vector<Tensor> tensors, int dim);
9+
} // namespace infinicore::op

include/infinicore/ops/inner.hpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#pragma once
2+
3+
#include "../device.hpp"
4+
#include "common/op.hpp"
5+
6+
namespace infinicore::op {
7+
class Inner {
8+
public:
9+
using schema = void (*)(Tensor, Tensor, Tensor);
10+
static void execute(Tensor out, Tensor input, Tensor other);
11+
static common::OpDispatcher<schema> &dispatcher();
12+
};
13+
14+
Tensor inner(Tensor input, Tensor other);
15+
void inner_(Tensor out, Tensor input, Tensor other);
16+
17+
} // namespace infinicore::op
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#pragma once
2+
3+
#include "../device.hpp"
4+
#include "common/op.hpp"
5+
6+
namespace infinicore::op {
7+
class MaskedSelect {
8+
public:
9+
using schema = void (*)(Tensor, Tensor, void **, size_t *);
10+
static void execute(Tensor input, Tensor mask, void **data_ptr, size_t *dlen_ptr);
11+
static common::OpDispatcher<schema> &dispatcher();
12+
};
13+
14+
Tensor masked_select(Tensor input, Tensor mask);
15+
16+
} // namespace infinicore::op

include/infinicore/ops/tan.hpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#pragma once
2+
3+
#include "../device.hpp"
4+
#include "common/op.hpp"
5+
6+
namespace infinicore::op {
7+
class Tan {
8+
public:
9+
using schema = void (*)(Tensor, Tensor);
10+
static void execute(Tensor output, Tensor input);
11+
static common::OpDispatcher<schema> &dispatcher();
12+
};
13+
14+
Tensor tan(Tensor input);
15+
void tan_(Tensor output, Tensor input);
16+
17+
} // namespace infinicore::op
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#pragma once
2+
3+
#include "../device.hpp"
4+
#include "common/op.hpp"
5+
6+
namespace infinicore::op {
7+
class Tanhshrink {
8+
public:
9+
using schema = void (*)(Tensor, Tensor);
10+
static void execute(Tensor output, Tensor input);
11+
static common::OpDispatcher<schema> &dispatcher();
12+
};
13+
14+
Tensor tanhshrink(Tensor input);
15+
void tanhshrink_(Tensor output, Tensor input);
16+
} // namespace infinicore::op

include/infiniop.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,13 @@
3232
#include "infiniop/ops/gemm.h"
3333
#include "infiniop/ops/hardswish.h"
3434
#include "infiniop/ops/hardtanh.h"
35+
#include "infiniop/ops/inner.h"
3536
#include "infiniop/ops/int8_gemm.h"
3637
#include "infiniop/ops/kv_caching.h"
3738
#include "infiniop/ops/layer_norm.h"
3839
#include "infiniop/ops/logsoftmax.h"
3940
#include "infiniop/ops/lp_norm.h"
41+
#include "infiniop/ops/masked_select.h"
4042
#include "infiniop/ops/mul.h"
4143
#include "infiniop/ops/ones.h"
4244
#include "infiniop/ops/paged_attention.h"
@@ -58,7 +60,9 @@
5860
#include "infiniop/ops/sub.h"
5961
#include "infiniop/ops/sum.h"
6062
#include "infiniop/ops/swiglu.h"
63+
#include "infiniop/ops/tan.h"
6164
#include "infiniop/ops/tanh.h"
65+
#include "infiniop/ops/tanhshrink.h"
6266
#include "infiniop/ops/topk.h"
6367
#include "infiniop/ops/topkrouter.h"
6468
#include "infiniop/ops/topksoftmax.h"

include/infiniop/ops/inner.h

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#ifndef __INFINIOP_INNER_API_H__
2+
#define __INFINIOP_INNER_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopInnerDescriptor_t;
7+
8+
__INFINI_C __export infiniStatus_t infiniopCreateInnerDescriptor(
9+
infiniopHandle_t handle,
10+
infiniopInnerDescriptor_t *desc_ptr,
11+
infiniopTensorDescriptor_t out_desc,
12+
infiniopTensorDescriptor_t input_desc,
13+
infiniopTensorDescriptor_t other_desc);
14+
15+
__INFINI_C __export infiniStatus_t infiniopGetInnerWorkspaceSize(infiniopInnerDescriptor_t desc, size_t *size);
16+
17+
__INFINI_C __export infiniStatus_t infiniopInner(
18+
infiniopInnerDescriptor_t desc,
19+
void *workspace,
20+
size_t workspace_size,
21+
void *out,
22+
const void *input,
23+
const void *other,
24+
void *stream);
25+
26+
__INFINI_C __export infiniStatus_t infiniopDestroyInnerDescriptor(infiniopInnerDescriptor_t desc);
27+
28+
#endif
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#ifndef __INFINIOP_MASKED_SELECT_API_H__
2+
#define __INFINIOP_MASKED_SELECT_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopMaskedSelectDescriptor_t;
7+
8+
__INFINI_C __export infiniStatus_t infiniopCreateMaskedSelectDescriptor(
9+
infiniopHandle_t handle,
10+
infiniopMaskedSelectDescriptor_t *desc_ptr,
11+
infiniopTensorDescriptor_t input_desc,
12+
infiniopTensorDescriptor_t mask_desc);
13+
14+
__INFINI_C __export infiniStatus_t infiniopGetMaskedSelectWorkspaceSize(infiniopMaskedSelectDescriptor_t desc, size_t *size);
15+
16+
__INFINI_C __export infiniStatus_t infiniopMaskedSelect(
17+
infiniopMaskedSelectDescriptor_t desc,
18+
void *workspace,
19+
size_t workspace_size,
20+
const void *input,
21+
const bool *mask,
22+
void **data_ptr,
23+
size_t *dlen,
24+
void *stream);
25+
26+
__INFINI_C __export infiniStatus_t infiniopDestroyMaskedSelectDescriptor(infiniopMaskedSelectDescriptor_t desc);
27+
28+
#endif

include/infiniop/ops/tan.h

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#ifndef __INFINIOP_TAN_API_H__
2+
#define __INFINIOP_TAN_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopTanDescriptor_t;
7+
8+
__INFINI_C __export infiniStatus_t infiniopCreateTanDescriptor(
9+
infiniopHandle_t handle,
10+
infiniopTanDescriptor_t *desc_ptr,
11+
infiniopTensorDescriptor_t input_desc,
12+
infiniopTensorDescriptor_t out_desc);
13+
14+
__INFINI_C __export infiniStatus_t infiniopGetTanWorkspaceSize(infiniopTanDescriptor_t desc, size_t *size);
15+
16+
__INFINI_C __export infiniStatus_t infiniopTan(
17+
infiniopTanDescriptor_t desc,
18+
void *workspace,
19+
size_t workspace_size,
20+
void *output,
21+
const void *input,
22+
void *stream);
23+
24+
__INFINI_C __export infiniStatus_t infiniopDestroyTanDescriptor(infiniopTanDescriptor_t desc);
25+
26+
#endif

include/infiniop/ops/tanhshrink.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef __INFINIOP_TANHSHRINK_API_H__
2+
#define __INFINIOP_TANHSHRINK_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopTanhshrinkDescriptor_t;
7+
8+
__INFINI_C __export infiniStatus_t infiniopCreateTanhshrinkDescriptor(infiniopHandle_t handle,
9+
infiniopTanhshrinkDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t output,
11+
infiniopTensorDescriptor_t intput);
12+
13+
__INFINI_C __export infiniStatus_t infiniopGetTanhshrinkWorkspaceSize(infiniopTanhshrinkDescriptor_t desc, size_t *size);
14+
15+
__INFINI_C __export infiniStatus_t infiniopTanhshrink(infiniopTanhshrinkDescriptor_t desc,
16+
void *workspace,
17+
size_t workspace_size,
18+
void *output,
19+
const void *intput,
20+
void *stream);
21+
22+
__INFINI_C __export infiniStatus_t infiniopDestroyTanhshrinkDescriptor(infiniopTanhshrinkDescriptor_t desc);
23+
24+
#endif

0 commit comments

Comments
 (0)