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学习心得(四) 数据类 ...
随机推荐
- Linux内核分析——操作系统是如何工作的
万子惠 + 原创作品转载请注明出处 + <Linux内核分析> 实验部分 使用实验楼的虚拟机打开shell 然后cd mykernel 您可以看到qemu窗口输出的内容的代码mymain. ...
- As 和 Is的区别
首先来说说As是干什么的: 代码: void OnMouseEnter(object sender, MouseEventArgs e){ Ellipse ell = sender as Ellips ...
- bigworld源码分析(4)——BaseAppMgr分析
BaseAppMgr是用来管理BaseApp的,在整个bigworld中只有一个.本篇就BaseAppMgr的一些核心功能进行分析: (1) BaseAppMgr是如何通知BaseApp创建Entit ...
- 更新EF,EF 报错
在项目中,对一个视图进行了更新,增加了一个字段,然后需要更新EF访问,可是往往会报错, 查看映射关系发现EF将字段映射为主键,而视图没有进行ISNULL处理. 可以有两种处理方式: 1:修改视图对字段 ...
- java.outOfMemory
http://www.kdgregory.com/index.php?page=java.outOfMemory Java Platform, Standard Edition HotSpot Vir ...
- ajax+php处理案例
<div> <table> <tr> <th>状态</th> <th>信息</th> </tr> < ...
- python3_phantomJS_test
phantomJS和selenium差不多,几乎不相上下,使用会麻烦一点,但是比selenium快很多: # !/usr/bin/python3.4 # -*- coding: utf-8 -*- f ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十三)之附加功能-自定义皮肤
前言 本篇要讲的算是一个layim代码功能扩充.在原来的laim中已经有自带的换肤功能,而且在skin配置中,你可以添加自己想要的皮肤图片路径.这些内容在接下来都不会涉及,本篇要讲的是自定义皮肤功能, ...
- js监听rem实现响应式
原文链接:http://caibaojian.com/web-app-rem.html (function (doc, win) { var docEl = doc.documentElement, ...
- Verilog HDL那些事_建模篇笔记(实验一,实验二)
实验一:永远的流水灯 扫描频率配置为100Hz,即是说扫描周期为10ms.这里需要注意的是扫描周期的概念.流水灯嘛,顾名思义,扫描周期指的是流水灯扫一轮所需要的时间.听到说周期,就应该想到在建模的时候 ...