---
title: Context
description: "加速库上下文类，主要用于管理Operation运行所需要的全局资源。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_01_0035.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_01_0035.html
indexId: 6e6a3005d47dd0b71ef649d78e56d855973f7b7e18c6e1e21f3eec9bc078cb1664
---
# Context

#### 功能说明

加速库上下文类，主要用于管理Operation运行所需要的全局资源。

Context类会管理任务流队列比如Operation执行以及TilingCopy，管理tiling内存的申请与释放。


#### 定义

```
class Context {
public:
    Context() = default;
    virtual ~Context() = default;
    virtual Status SetExecuteStream(aclrtStream stream) = 0;
    virtual aclrtStream GetExecuteStream() const = 0;
    virtual Status SetAsyncTilingCopyStatus(bool enable) = 0;
    virtual bool GetAsyncTilingCopyStatus() const = 0;
    virtual Status SetExecuteStreams(const std::vector<aclrtStream> &streams) = 0;
    virtual std::vector<aclrtStream> GetExecuteStreams() = 0;
    virtual Status SetExecuteType(ExecuteType type) = 0;
    virtual ExecuteType GetExecuteType() = 0;
    virtual Status SetLaunchMode(LaunchMode mode) = 0;
    virtual LaunchMode GetLaunchMode() = 0;
};
```


#### 参数列表

| 成员名称 | 参数 | 返回值 | 描述 |
| --- | --- | --- | --- |
| SetExecuteStream | stream | Status | stream表示了Device侧的执行流， 每个流具体表现为一条执行队列。 通过这个函数设置使用传入的流执行对应的Operation。 stream：传入的stream队列。 如果设置成功，返回NO\_ERROR。如果失败，请参见ErrorType。 |
| GetExecuteStream | \- | aclrtStream | 获取当前执行stream。 |
| SetAsyncTilingCopyStatus | enable | Status | 设置异步拷贝tiling信息功能是否开启，如果是，则创建Stream和Event来进行tiling拷贝过程。 enable：传入的标志，bool类型。 如果设置成功，返回NO\_ERROR。如果失败，请参见ErrorType。 |
| GetAsyncTilingCopyStatus | \- | bool | 获取tiling拷贝状态，如果获取成功，返回True。 |
| SetExecuteStreams | streams | Status | 设置实际的执行流，Operation执行时会根据配置的streamId从Context匹配对应的实际执行流。 streams：需要设置的一组stream。 状态值，如果设置成功，返回NO\_ERROR。如果失败，请参见ErrorType。 |
| GetExecuteStreams | \- | std::vector<aclrtStream> | 获取Context中当前设置的一组执行流。 如果设置成功，返回Context当前设置的一组执行流。 |
| SetExecuteType | \- | Status | 设置Execute的类型。 |
| GetExecuteType | \- | ExecuteType | 获取当前context Execute的类型。 |
| SetLaunchMode | mode | Status | 设置算子下发模式。 mode：算子下发的模式类型。 状态值，如果设置成功，返回NO\_ERROR。如果失败，请参见ErrorType。 |
| GetLaunchMode | \- | LaunchMode | 返回当前的算子下发模式。 |
