首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux AIO -- libaio 实现的异步 IO 简介及实现原理

1. linux AIO — libaio 实现的异步 IO POSIX AIO 是在用户控件模拟异步 IO 的功能,不需要内核支持,而 linux AIO 则是 linux 内核原声支持的异步 IO...关于 linux IO 模型及 AIO、POSIX AIO 的简介,请参看上一篇文章 libaio 实现的异步 IO 主要包含以下接口: libaio 实现的异步 IO 函数 功能 原型 io_setup...与 POSIX AIO 区别 从上图中的流程就可以看出,linux 版本的 AIO 与 POSIX 版本的 AIO 最大的不同在于 linux 版本的 AIO 实际上利用了 CPU 和 IO 设备异步工作的特性...POSIX AIO 支持非 direct-io,而且实现非常灵活,可配置性很高,可以利用内核提供的page cache来提高效率,而 linux 内核实现的 AIO 就只支持 direct-io,cache

2.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

安装TensorNVMe和Deepspeed时遇到的坑:无root权限安装libaio依赖库

如果你有root权限,用下面这行代码一键安装即可: sudo apt install libaio1 libaio-dev ---- 如果没有root权限,步骤如下 下载 libaio git clone...https://pagure.io/libaio 安装libaio 如果你没有 cd libaio make prefix=`pwd`/usr install 上面命令会在 /path/to/libaio.../usr路径下安装libaio,安装成功后会得到两个文件夹,结构如下: /path/to/libaio/usr/ |__incude |__libaio.h |__lib |__libaio.a...|__libaio.so |__libaio.so.1 |__libaio.so.1.0.2 将文件加入环境变量路径 之前我一直是将路径加入到PATH和LD_LIBRARY_PATH这两个变量中去,...你需要将路径改成你的路径: export CFLAGS="-I/path/to/libaio/usr/lib/include $CFLAGS" export LDFLAGS="-L/path/to/libaio

1.8K50
领券