Skip to content

Commit cc5a27e

Browse files
lengmuzhaxiPanZezhong1725
authored andcommitted
issue/1031 merge T1-1-5
1 parent ed61b51 commit cc5a27e

100 files changed

Lines changed: 6374 additions & 15 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/acos.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 "../device.hpp"
4+
#include "common/op.hpp"
5+
6+
namespace infinicore::op {
7+
class Acos {
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 acos(Tensor input);
15+
void acos_(Tensor output, Tensor input);
16+
} // namespace infinicore::op
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#pragma once
2+
3+
#include "../device.hpp"
4+
#include "common/op.hpp"
5+
6+
namespace infinicore::op {
7+
8+
class AdaptiveAvgPool1d {
9+
public:
10+
// Schema: execute(Output, Input)
11+
using schema = void (*)(Tensor, Tensor);
12+
static void execute(Tensor output, Tensor input);
13+
static common::OpDispatcher<schema> &dispatcher();
14+
};
15+
16+
Tensor adaptive_avg_pool1d(Tensor input, int64_t output_size);
17+
18+
} // namespace infinicore::op

include/infinicore/ops/addbmm.hpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#pragma once
2+
3+
#include "../device.hpp"
4+
#include "common/op.hpp"
5+
6+
namespace infinicore::op {
7+
8+
class Addbmm {
9+
public:
10+
using schema = void (*)(Tensor, Tensor, Tensor, Tensor, float, float);
11+
static void execute(Tensor output, Tensor input, Tensor batch1, Tensor batch2, float beta, float alpha);
12+
13+
static common::OpDispatcher<schema> &dispatcher();
14+
};
15+
Tensor addbmm(Tensor input, Tensor batch1, Tensor batch2, float beta = 1.0f, float alpha = 1.0f);
16+
17+
void addbmm_(Tensor output, Tensor input, Tensor batch1, Tensor batch2, float beta, float alpha);
18+
19+
} // namespace infinicore::op
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+
#include <vector>
6+
7+
namespace infinicore::op {
8+
9+
class AffineGrid {
10+
public:
11+
using schema = void (*)(Tensor, Tensor, bool);
12+
static void execute(Tensor output, Tensor theta, bool align_corners);
13+
static common::OpDispatcher<schema> &dispatcher();
14+
};
15+
Tensor affine_grid(Tensor theta, const std::vector<int64_t>& size, bool align_corners = false);
16+
17+
} // namespace infinicore::op

include/infinicore/ops/floor.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 "../device.hpp"
4+
#include "common/op.hpp"
5+
6+
namespace infinicore::op {
7+
class Floor {
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 floor(Tensor input);
15+
void floor_(Tensor output, Tensor input);
16+
} // namespace infinicore::op

include/infiniop.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212
#include "infiniop/ops/asin.h"
1313
#include "infiniop/ops/asinh.h"
1414
#include "infiniop/ops/atanh.h"
15+
#include "infiniop/ops/acos.h"
16+
#include "infiniop/ops/add.h"
17+
#include "infiniop/ops/adaptive_avg_pool1d.h"
18+
#include "infiniop/ops/addbmm.h"
19+
#include "infiniop/ops/affine_grid.h"
20+
#include "infiniop/ops/floor.h"
1521
#include "infiniop/ops/attention.h"
1622
#include "infiniop/ops/avg_pool1d.h"
1723
#include "infiniop/ops/binary_cross_entropy_with_logits.h"

include/infiniop/ops/acos.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef __INFINIOP_ACOS_API_H__
2+
#define __INFINIOP_ACOS_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopAcosDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateAcosDescriptor(infiniopHandle_t handle,
9+
infiniopAcosDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x );
12+
13+
__C __export infiniStatus_t infiniopGetAcosWorkspaceSize(infiniopAcosDescriptor_t desc, size_t *size);
14+
15+
__C __export infiniStatus_t infiniopAcos(infiniopAcosDescriptor_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 infiniopDestroyAcosDescriptor(infiniopAcosDescriptor_t desc);
23+
24+
#endif
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#ifndef __INFINIOP_ADAPTIVE_AVG_POOL1D_API_H__
2+
#define __INFINIOP_ADAPTIVE_AVG_POOL1D_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
// 定义算子描述符类型
7+
typedef struct InfiniopDescriptor *infiniopAdaptiveAvgPool1dDescriptor_t;
8+
9+
// 1. 创建算子描述符
10+
__C __export infiniStatus_t infiniopCreateAdaptiveAvgPool1dDescriptor(
11+
infiniopHandle_t handle,
12+
infiniopAdaptiveAvgPool1dDescriptor_t *desc_ptr,
13+
infiniopTensorDescriptor_t out_desc,
14+
infiniopTensorDescriptor_t input_desc);
15+
16+
// 2. 获取 Workspace 大小
17+
__C __export infiniStatus_t infiniopGetAdaptiveAvgPool1dWorkspaceSize(
18+
infiniopAdaptiveAvgPool1dDescriptor_t desc,
19+
size_t *size);
20+
21+
// 3. 执行计算
22+
__C __export infiniStatus_t infiniopAdaptiveAvgPool1d(
23+
infiniopAdaptiveAvgPool1dDescriptor_t desc,
24+
void *workspace,
25+
size_t workspace_size,
26+
void *output,
27+
const void *input,
28+
void *stream);
29+
30+
// 4. 销毁描述符
31+
__C __export infiniStatus_t infiniopDestroyAdaptiveAvgPool1dDescriptor(
32+
infiniopAdaptiveAvgPool1dDescriptor_t desc);
33+
34+
#endif // __INFINIOP_ADAPTIVE_AVG_POOL1D_API_H__

include/infiniop/ops/addbmm.h

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#ifndef __INFINIOP_ADDBMM_API_H__
2+
#define __INFINIOP_ADDBMM_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopAddbmmDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateAddbmmDescriptor(infiniopHandle_t handle,
9+
infiniopAddbmmDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t out_desc,
11+
infiniopTensorDescriptor_t input_desc,
12+
infiniopTensorDescriptor_t batch1_desc,
13+
infiniopTensorDescriptor_t batch2_desc,
14+
float alpha,
15+
float beta);
16+
17+
__C __export infiniStatus_t infiniopGetAddbmmWorkspaceSize(infiniopAddbmmDescriptor_t desc, size_t *size);
18+
19+
__C __export infiniStatus_t infiniopAddbmm(infiniopAddbmmDescriptor_t desc,
20+
void *workspace,
21+
size_t workspace_size,
22+
void *output,
23+
const void *input,
24+
const void *batch1,
25+
const void *batch2,
26+
void *stream);
27+
28+
__C __export infiniStatus_t infiniopDestroyAddbmmDescriptor(infiniopAddbmmDescriptor_t desc);
29+
30+
#endif // __INFINIOP_ADDBMM_API_H__

include/infiniop/ops/affine_grid.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#ifndef __INFINIOP_AFFINE_GRID_API_H__
2+
#define __INFINIOP_AFFINE_GRID_API_H__
3+
#include <stdint.h>
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopAffineGridDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateAffineGridDescriptor(infiniopHandle_t handle,
9+
infiniopAffineGridDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t output_desc,
11+
infiniopTensorDescriptor_t input_desc,
12+
uint8_t align_corners);
13+
14+
__C __export infiniStatus_t infiniopGetAffineGridWorkspaceSize(infiniopAffineGridDescriptor_t desc, size_t *size);
15+
16+
__C __export infiniStatus_t infiniopAffineGrid(infiniopAffineGridDescriptor_t desc,
17+
void *workspace,
18+
size_t workspace_size,
19+
void *output,
20+
const void *input,
21+
void *stream);
22+
23+
__C __export infiniStatus_t infiniopDestroyAffineGridDescriptor(infiniopAffineGridDescriptor_t desc);
24+
25+
#endif // __INFINIOP_AFFINE_GRID_API_H__

0 commit comments

Comments
 (0)