|
- /**
- * Copyright 2020 Huawei Technologies Co., Ltd
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- #ifndef ACL_STUB_INC_ACL_RT_H
- #define ACL_STUB_INC_ACL_RT_H
- #include "acl_base.h"
-
- typedef enum aclrtRunMode {
- ACL_DEVICE,
- ACL_HOST,
- } aclrtRunMode;
-
- typedef enum aclrtTsId {
- ACL_TS_ID_AICORE,
- ACL_TS_ID_AIVECTOR,
- ACL_TS_ID_RESERVED,
- } aclrtTsId;
-
- typedef enum aclrtEventStatus {
- ACL_EVENT_STATUS_COMPLETE,
- ACL_EVENT_STATUS_NOT_READY,
- ACL_EVENT_STATUS_RESERVED,
- } aclrtEventStatus;
-
- typedef enum aclrtCallbackBlockType {
- ACL_CALLBACK_NO_BLOCK,
- ACL_CALLBACK_BLOCK,
- } aclrtCallbackBlockType;
-
- typedef enum aclrtMemcpyKind {
- ACL_MEMCPY_HOST_TO_HOST,
- ACL_MEMCPY_HOST_TO_DEVICE,
- ACL_MEMCPY_DEVICE_TO_HOST,
- ACL_MEMCPY_DEVICE_TO_DEVICE,
- } aclrtMemcpyKind;
-
- typedef enum aclrtMemMallocPolicy {
- ACL_MEM_MALLOC_HUGE_FIRST,
- ACL_MEM_MALLOC_HUGE_ONLY,
- ACL_MEM_MALLOC_NORMAL_ONLY,
- } aclrtMemMallocPolicy;
-
- typedef struct rtExceptionInfo aclrtExceptionInfo;
- typedef void (*aclrtCallback)(void *userData);
- typedef void (*aclrtExceptionInfoCallback)(aclrtExceptionInfo *exceptionInfo);
-
- aclError aclrtCreateContext(aclrtContext *context, int32_t deviceId);
- aclError aclrtDestroyContext(aclrtContext context);
- aclError aclrtSetCurrentContext(aclrtContext context);
- aclError aclrtGetCurrentContext(aclrtContext *context);
- aclError aclrtSetDevice(int32_t deviceId);
- aclError aclrtResetDevice(int32_t deviceId);
- aclError aclrtGetDevice(int32_t *deviceId);
- aclError aclrtGetRunMode(aclrtRunMode *runMode);
- aclError aclrtSynchronizeDevice(void);
- aclError aclrtSetTsDevice(aclrtTsId tsId);
- aclError aclrtGetDeviceCount(uint32_t *count);
-
- aclError aclrtMalloc(void **devPtr, size_t size, aclrtMemMallocPolicy policy);
- aclError aclrtFree(void *devPtr);
-
- aclError aclrtMallocHost(void **hostPtr, size_t size);
- aclError aclrtFreeHost(void *hostPtr);
-
- aclError aclrtMemcpy(void *dst, size_t destMax, const void *src, size_t count, aclrtMemcpyKind kind);
- aclError aclrtMemset(void *devPtr, size_t maxCount, int32_t value, size_t count);
- aclError aclrtMemcpyAsync(void *dst, size_t destMax, const void *src, size_t count, aclrtMemcpyKind kind,
- aclrtStream stream);
- aclError aclrtMemsetAsync(void *devPtr, size_t maxCount, int32_t value, size_t count, aclrtStream stream);
-
- aclError aclrtCreateStream(aclrtStream *stream);
- aclError aclrtDestroyStream(aclrtStream stream);
- aclError aclrtSynchronizeStream(aclrtStream stream);
- aclError aclrtStreamWaitEvent(aclrtStream stream, aclrtEvent event);
-
- #endif
|