Skip to content

Commit e3dee1b

Browse files
Merge pull request #1132 from InfiniTensor/issue/1031_T1-1-30
【比赛2025秋】T1-1-30
2 parents f3c4cf5 + 6e28dfc commit e3dee1b

File tree

89 files changed

+6330
-38
lines changed

Some content is hidden

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

89 files changed

+6330
-38
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#pragma once
2+
3+
#include "infinicore.h"
4+
5+
#include "../device.hpp"
6+
#include "../graph/graph.hpp"
7+
#include "common/op.hpp"
8+
9+
namespace infinicore::op {
10+
11+
INFINICORE_GRAPH_OP_CLASS(BitwiseRightShift, Tensor, const Tensor &, const Tensor &);
12+
13+
__export Tensor bitwise_right_shift(const Tensor &input, const Tensor &other);
14+
__export void bitwise_right_shift_(Tensor out, const Tensor &input, const Tensor &other);
15+
16+
} // namespace infinicore::op
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#pragma once
2+
3+
#include "infinicore.h"
4+
5+
#include "../device.hpp"
6+
#include "../graph/graph.hpp"
7+
#include "common/op.hpp"
8+
9+
namespace infinicore::op {
10+
11+
INFINICORE_GRAPH_OP_CLASS(GaussianNllLoss, Tensor, const Tensor &, const Tensor &, const Tensor &, bool, double, int);
12+
13+
__export Tensor gaussian_nll_loss(const Tensor &input,
14+
const Tensor &target,
15+
const Tensor &var,
16+
bool full = false,
17+
double eps = 1e-6,
18+
int reduction = 1);
19+
20+
__export void gaussian_nll_loss_(Tensor out,
21+
const Tensor &input,
22+
const Tensor &target,
23+
const Tensor &var,
24+
bool full = false,
25+
double eps = 1e-6,
26+
int reduction = 1);
27+
28+
} // namespace infinicore::op
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#pragma once
2+
3+
#include "infinicore.h"
4+
5+
#include "../device.hpp"
6+
#include "../graph/graph.hpp"
7+
#include "common/op.hpp"
8+
9+
#include <cstdint>
10+
#include <string>
11+
#include <vector>
12+
13+
namespace infinicore::op {
14+
15+
INFINICORE_GRAPH_OP_CLASS(Interpolate, Tensor, const Tensor &, std::string, std::vector<int64_t>, std::vector<double>, int);
16+
17+
__export Tensor interpolate(const Tensor &input,
18+
std::string mode,
19+
std::vector<int64_t> size,
20+
std::vector<double> scale_factor,
21+
int align_corners);
22+
23+
__export void interpolate_(Tensor out,
24+
const Tensor &input,
25+
std::string mode,
26+
std::vector<int64_t> size,
27+
std::vector<double> scale_factor,
28+
int align_corners);
29+
30+
} // namespace infinicore::op

include/infinicore/ops/prelu.hpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#pragma once
2+
3+
#include "infinicore.h"
4+
5+
#include "../device.hpp"
6+
#include "../graph/graph.hpp"
7+
#include "common/op.hpp"
8+
9+
namespace infinicore::op {
10+
11+
INFINICORE_GRAPH_OP_CLASS(Prelu, Tensor, const Tensor &, const Tensor &);
12+
13+
__export Tensor prelu(const Tensor &input, const Tensor &weight);
14+
__export void prelu_(Tensor out, const Tensor &input, const Tensor &weight);
15+
16+
} // namespace infinicore::op

include/infinicore/ops/relu6.hpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#pragma once
2+
3+
#include "infinicore.h"
4+
5+
#include "../device.hpp"
6+
#include "../graph/graph.hpp"
7+
#include "common/op.hpp"
8+
9+
namespace infinicore::op {
10+
11+
INFINICORE_GRAPH_OP_CLASS(Relu6, Tensor, const Tensor &);
12+
13+
__export Tensor relu6(const Tensor &input);
14+
__export void relu6_(Tensor out, const Tensor &input);
15+
16+
} // namespace infinicore::op
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#ifndef __INFINIOP_BITWISE_RIGHT_SHIFT_API_H__
2+
#define __INFINIOP_BITWISE_RIGHT_SHIFT_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopBitwiseRightShiftDescriptor_t;
7+
8+
__INFINI_C __export infiniStatus_t infiniopCreateBitwiseRightShiftDescriptor(infiniopHandle_t handle,
9+
infiniopBitwiseRightShiftDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x1,
12+
infiniopTensorDescriptor_t x2);
13+
14+
__INFINI_C __export infiniStatus_t infiniopGetBitwiseRightShiftWorkspaceSize(infiniopBitwiseRightShiftDescriptor_t desc, size_t *size);
15+
16+
__INFINI_C __export infiniStatus_t infiniopBitwiseRightShift(infiniopBitwiseRightShiftDescriptor_t desc,
17+
void *workspace,
18+
size_t workspace_size,
19+
void *y,
20+
const void *x1,
21+
const void *x2,
22+
void *stream);
23+
24+
__INFINI_C __export infiniStatus_t infiniopDestroyBitwiseRightShiftDescriptor(infiniopBitwiseRightShiftDescriptor_t desc);
25+
26+
#endif
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#ifndef __INFINIOP_GAUSSIAN_NLL_LOSS_API_H__
2+
#define __INFINIOP_GAUSSIAN_NLL_LOSS_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopGaussianNllLossDescriptor_t;
7+
8+
__INFINI_C __export infiniStatus_t infiniopCreateGaussianNllLossDescriptor(infiniopHandle_t handle,
9+
infiniopGaussianNllLossDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t input,
12+
infiniopTensorDescriptor_t target,
13+
infiniopTensorDescriptor_t var,
14+
int full,
15+
double eps,
16+
int reduction);
17+
18+
__INFINI_C __export infiniStatus_t infiniopGetGaussianNllLossWorkspaceSize(infiniopGaussianNllLossDescriptor_t desc, size_t *size);
19+
20+
__INFINI_C __export infiniStatus_t infiniopGaussianNllLoss(infiniopGaussianNllLossDescriptor_t desc,
21+
void *workspace,
22+
size_t workspace_size,
23+
void *y,
24+
const void *input,
25+
const void *target,
26+
const void *var,
27+
void *stream);
28+
29+
__INFINI_C __export infiniStatus_t infiniopDestroyGaussianNllLossDescriptor(infiniopGaussianNllLossDescriptor_t desc);
30+
31+
#endif

include/infiniop/ops/interpolate.h

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#ifndef __INFINIOP_INTERPOLATE_API_H__
2+
#define __INFINIOP_INTERPOLATE_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopInterpolateDescriptor_t;
7+
8+
__INFINI_C __export infiniStatus_t infiniopCreateInterpolateDescriptor(infiniopHandle_t handle,
9+
infiniopInterpolateDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x,
12+
const char *mode,
13+
void *size,
14+
void *scale_factor,
15+
int align_corners);
16+
17+
__INFINI_C __export infiniStatus_t infiniopGetInterpolateWorkspaceSize(infiniopInterpolateDescriptor_t desc, size_t *size);
18+
19+
__INFINI_C __export infiniStatus_t infiniopInterpolate(infiniopInterpolateDescriptor_t desc,
20+
void *workspace,
21+
size_t workspace_size,
22+
void *y,
23+
const void *x,
24+
void *stream);
25+
26+
__INFINI_C __export infiniStatus_t infiniopDestroyInterpolateDescriptor(infiniopInterpolateDescriptor_t desc);
27+
28+
#endif

include/infiniop/ops/prelu.h

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

include/infiniop/ops/relu6.h

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

0 commit comments

Comments
 (0)