MLIR-AIE
Translation.h
Go to the documentation of this file.
1//===- Translation.h -------------------------------------------*- C++ -*-===//
2//
3// Copyright (C) 2022, Advanced Micro Devices, Inc. All rights reserved.
4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5//
6//===----------------------------------------------------------------------===//
7
8#ifndef AIE_C_TRANSLATION_H
9#define AIE_C_TRANSLATION_H
10
11#include "aie-c/TargetModel.h"
12
13#include "mlir-c/IR.h"
14#include "mlir-c/Support.h"
15#include "mlir/CAPI/Wrap.h"
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21MLIR_CAPI_EXPORTED MlirStringRef aieTranslateAIEVecToCpp(MlirOperation op,
22 bool aie2);
23MLIR_CAPI_EXPORTED MlirStringRef aieTranslateModuleToLLVMIR(MlirOperation op);
24MLIR_CAPI_EXPORTED MlirStringRef aieTranslateNpuToBinary(
25 MlirOperation op, MlirStringRef deviceName, MlirStringRef sequenceName);
26MLIR_CAPI_EXPORTED MlirStringRef
27aieTranslateControlPacketsToUI32Vec(MlirOperation op, MlirStringRef deviceName);
28MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToXAIEV2(MlirOperation op,
29 MlirStringRef deviceName);
30MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToHSA(MlirOperation op,
31 MlirStringRef deviceName);
32MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToBCF(MlirOperation op, int col,
33 int row,
34 MlirStringRef deviceName);
35MLIR_CAPI_EXPORTED MlirStringRef aieLLVMLink(MlirStringRef *modules,
36 int nModules);
37MLIR_CAPI_EXPORTED MlirLogicalResult aieTranslateToCDODirect(
38 MlirOperation moduleOp, MlirStringRef workDirPath, MlirStringRef deviceName,
39 bool bigEndian, bool emitUnified, bool cdoDebug, bool aieSim,
40 bool xaieDebug, bool enableCores);
41MLIR_CAPI_EXPORTED MlirOperation aieTranslateBinaryToTxn(MlirContext ctx,
42 MlirStringRef binary);
43
45 void *ptr;
46};
48
49MLIR_CAPI_EXPORTED AieRtControl getAieRtControl(AieTargetModel tm);
50MLIR_CAPI_EXPORTED void freeAieRtControl(AieRtControl aieCtl);
51MLIR_CAPI_EXPORTED void aieRtStartTransaction(AieRtControl aieCtl);
52MLIR_CAPI_EXPORTED void aieRtDmaUpdateBdAddr(AieRtControl aieCtl, int col,
53 int row, size_t addr, size_t bdId);
54MLIR_CAPI_EXPORTED void aieRtExportSerializedTransaction(AieRtControl aieCtl);
55
56#ifdef __cplusplus
57}
58#endif
59
60#endif // AIE_C_TRANSLATION_H
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToHSA(MlirOperation op, MlirStringRef deviceName)
MLIR_CAPI_EXPORTED void aieRtExportSerializedTransaction(AieRtControl aieCtl)
MLIR_CAPI_EXPORTED void aieRtStartTransaction(AieRtControl aieCtl)
MLIR_CAPI_EXPORTED MlirOperation aieTranslateBinaryToTxn(MlirContext ctx, MlirStringRef binary)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToXAIEV2(MlirOperation op, MlirStringRef deviceName)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateNpuToBinary(MlirOperation op, MlirStringRef deviceName, MlirStringRef sequenceName)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateControlPacketsToUI32Vec(MlirOperation op, MlirStringRef deviceName)
MLIR_CAPI_EXPORTED void aieRtDmaUpdateBdAddr(AieRtControl aieCtl, int col, int row, size_t addr, size_t bdId)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateModuleToLLVMIR(MlirOperation op)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateAIEVecToCpp(MlirOperation op, bool aie2)
MLIR_CAPI_EXPORTED AieRtControl getAieRtControl(AieTargetModel tm)
MLIR_CAPI_EXPORTED MlirLogicalResult aieTranslateToCDODirect(MlirOperation moduleOp, MlirStringRef workDirPath, MlirStringRef deviceName, bool bigEndian, bool emitUnified, bool cdoDebug, bool aieSim, bool xaieDebug, bool enableCores)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToBCF(MlirOperation op, int col, int row, MlirStringRef deviceName)
MLIR_CAPI_EXPORTED void freeAieRtControl(AieRtControl aieCtl)
MLIR_CAPI_EXPORTED MlirStringRef aieLLVMLink(MlirStringRef *modules, int nModules)