CAPI学习心得
|
比较有意义资料 Education .ppt User-guide Coherent Accelerator Interface Architecture.pdf --------------------------------------- CAPI (coherent accelerator …) 首先是 accelerator,然后是coherent,区分于基于I/O的accelerator ----------------------------------------- 看了CAPI 的education,写得详细,大致知道了流程, 遗留问题是WED的数据结构。。。。 1) App Connect to accelerator-> Open Device ->PSL Reset AFU (通过control interface) | AFU ready if ((afu_handle = cxl_afu_open_dev(“/dev/cxl/afu0.0”)) < 0) { 1.1) See if there’s an FPGA available num_accel = accel_get_info(FPGA_ACCEL,ACCEL_COUNT_PHYSICAL_ACCEL,-1); 1.2) See if there are Slices available on the fpga num_Slices = accel_get_info(FPGA_ACCEL,ACCEL_COUNT_HWSLICES,-1); 1.3) Create fpga slice and download app_handle = create_and_open_dev(“/dev/capia1m”,”capi”,1); 2) App set data structure (应该是WED list) 3) App Start accelerator - > Attach Device -> PSL_WED_Ax set to AddrX CNTL_Reg set(通过control interface) | AFU starts with WED location if ( cxl_afu_attach( afu_handle, myWED_ptr, -1, 0 ) < 0 ) { 注意此时把WED和AFU联系起来! 4) MMIO访问 5) app访问problem state area afu_ps_area = mmap( NULL, SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, afu_fd, 0 ); 6) 干完后munmap( afu_ps_area, SIZE ); cxl_afu_free( afu_handle ); -------------------------------- PSL和AFU之间5个interface 其信号命名和interface有关 c: commande interface b: buffer interface r: response interface mm: MMIO interface j: control interface (job management) --------------------------------- afu干活的流程 (注意PSL才是master,所有动作由其完成,这样便于coherent!!!) 1) PSL 通过control interface写入WED 2) AFU 通过accelerator command interface去invoke PSL的service,带上tag标志( 比如:Accelerator is using command code 0x0A60 – Read_cl_m to indicate the data should be cached in the PSL) 3) PSL 去完成这个service,AFU是读,其实PSL就是写操作(from PSL to AFU),通过accelerator buffer interface。对应AFU invoke的tag标志 4) 完成后,PSL通过PSL RESPONSE interface,告知AFU完成了这个AFU的invoke 的service |
CAPI学习心得的更多相关文章
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(二) 数据类型宽度
我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(三) 查看字段长度
我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(四) 数据类型
我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(五) 运算符
我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- 我的MYSQL学习心得(六) 函数
我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(七) 查询
我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(八) 插入 更新 删除
我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...
- 我的MYSQL学习心得(九) 索引
我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
随机推荐
- IOS_画图 图片等比压缩 IOS_UIImage
- (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{ // 创建一个bitmap的context // 并把它设置成为当前正在使用的co ...
- QT_BEGIN_NAMESPACE QT_END_NAMESPACE
QT_BEGIN_NAMESPACEQT_END_NAMESPACE 在源代码中是这样定义的: 1 2 # define QT_BEGIN_NAMESPACE namespace QT_NAMESPA ...
- C#代码示例_集合
C#中数组实现为System.Array类得实例,它们只是集合类(Collection Classes)中的一种类型. 索引符(indexer)是一种特殊类型的属性,可以把它添加到一个类中,以提供类似 ...
- 在网页中插入MSN,Skype,QQ的方法
MSN源码: <a href="msnim:chat?contact=come400@hotmail.com" target="blank">可以适 ...
- Python 学习之 NumPy
NumPy(Numerical Python的简称) 是高性能科学计算和数据分析的基础包,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表 ...
- popToViewController和dismissviewcontroller的用法
如果我们有ABC三个controller 1.使用present从A到B.再present到C.如果我们想从C直接回到A的话.直接使用 self dismissViewControllerAnima ...
- DWORD类型的IP地址转换为CString字符串
从ip地址控件获得的ip地址是DWORD类型的 用MessageBox怎样将ip地址显示出来呢? DWORD类型32位,每4位为一组代表常见的IP地址,即***.***.***.***. 采用HIWO ...
- ArcGIS+API+for+JS测距
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- python数据分析之pandas库的DataFrame应用二
本节介绍Series和DataFrame中的数据的基本手段 重新索引 pandas对象的一个重要方法就是reindex,作用是创建一个适应新索引的新对象 ''' Created on 2016-8-1 ...
- python反射的妙用
反射的简单含义: 通过类名获得类的实例对象 通过方法名得到方法,实现调用 实例: import sys class Webserver(object): def __init__(self,host, ...