---
title: aclrtCheckMemType
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclcppdevg_03_2062.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_2062.html
indexId: d1958b33af997f7212e419980466220fc1e2767d872a144ac669b496df9aeaab68
---
# aclrtCheckMemType

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

检查Device内存类型。


#### 函数原型

```
aclError aclrtCheckMemType(void** addrList, uint32_t size, uint32_t memType, uint32_t *checkResult, uint32_t reserve)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| addrList | 输入 | Device内存地址数组。 |
| size | 输入 | addrList数组大小。 |
| memType | 输入 | Device内存类型。若addrList数组中有多种不同类型的内存地址，则memType处需配置为多种内存类型位或，例如配置为：RT\_MEM\_MASK\_DEV\_TYPE \| RT\_MEM\_MASK\_DVPP\_TYPE 当前支持设置为如下宏： ACL\_RT\_MEM\_TYPE\_DEV：表示调用aclrtMalloc、aclrtMallocWithCfg等接口申请的Device内存。 ACL\_RT\_MEM\_TYPE\_DVPP：表示DVPP专用的Device内存，可调用相关内存申请接口（例如hi\_mpi\_dvpp\_malloc(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/dvpp/aclcppdevg\_03\_0391.html)）申请该内存。Atlas 350 加速卡中不再有单独的DVPP Device内存类型，而是当做普通Device内存处理。 ACL\_RT\_MEM\_TYPE\_RSVD：表示调用aclrtReserveMemAddress接口预留的虚拟内存。 宏定义如下： \#define ACL\_RT\_MEM\_TYPE\_DEV (0X2U) \#define ACL\_RT\_MEM\_TYPE\_DVPP (0X8U) \#define ACL\_RT\_MEM\_TYPE\_RSVD (0X10U) |
| checkResult | 输出 | 检查addrList数组中内存地址类型与memType处是否匹配。 1：匹配 0：不匹配 |
| reserve | 输入 | 预留参数，当前固定配置为0。 |


#### 返回值说明

返回0表示成功，返回其他值表示失败，请参见aclError。
