1.Vitis Getting Started Tutorials(Data Center Platform部分)
2.为什么xml配置的优先级大于注解配置的优先级大于java源代码的优先级长?
Vitis Getting Started Tutorials(Data Center Platform部分)
本文记录了学习Vitis官方加速卡(Acceleration Card)起步教程的经历,专注于在Ubuntu .操作系统下使用Vitis .2版本的Data Center Platform部分。首先,从GitHub下载教程源代码,并切换至相应工程文件夹。为了确保环境兼容性,源码还是刮码需按照官方指南安装Xilinx Runtime、Deployment Target Platform和Development Target Platform。特别提示,Data Center Platform仅支持Linux操作系统环境。
安装过程中,具体使用Alveo u作为加速卡。注意安装对应Ubuntu版本和Vitis版本的安装包。安装完成后,在指定路径下创建文件夹以存放编译生成的文件。使用命令将c++源代码编译为host可执行文件app.exe和u可执行文件vadd.xclbin,存放在sw_emu文件夹中。水面涟漪特效源码
在软件仿真阶段,通过运行命令验证编译结果,显示测试成功,证明编译过程无误。硬件仿真则涉及在hw_emu文件夹下创建类似软件仿真的命令,运行host文件前需设置环境变量XCL_EMULATION_MODE,以避免直接运行app.exe时的“XCLBIN is invalid”错误。同样显示测试成功。波段双雄指标源码
硬件实测阶段,构建hw文件夹并进行编译,运行host文件,终端显示内容与软件仿真一致,验证了编译结果的正确性。
分析实验结果时,重点关注硬件仿真部分,通过vitis 商品资料系统源码analyzer打开报告文件xrt.run_summary,特别强调记录时间线。观察到app.exe大部分时间用于调用系统API xrt.device.load_xclbin,实际硬件执行时间占比较小,这表明编译和加载过程可能消耗了大量时间。
为什么xml配置的优先级大于注解配置的优先级大于java源代码的优先级长?
注解配置一般指诸如开放源代码的对象框架,如Spring(开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题)、Hibernate(对象关系映射框架,delphi 录屏源码它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架)在使用这个框架的之前要进行相应的配置。
配置的方式有三种,xml配置,注解配置(Java注解配置),java配置(Java代码配置)。
关于注解配置和Java配置的区别,此处附上大牛的详细解答(/durendong/article/details/)
目前关于三种配置的优先级没有明确而统一的说法,况且编译器以及编译环境的差异,产生的结果差距较大,不可轻易下定结论。但有大牛做了实验,总结出如下结论:“xml配置与注解配置都执行,默认顺序谁先加载谁先执行,指定执行顺序 添加order参数
建议:
应该先执行xml 后 执行注解
xml 配置的是统一的。但是可能我想在具体的方法里搞特殊,就自己加注解
例如xml配置了REQUIRED回滚 而我的具体的方法不想回滚但是还要用insert开头,就可以在注解配置。
详细过程附上原文链接:/xclltssun/article/details/”
至于Java源代码优先级最后的原因也很清楚了,前面第一个链接力讲的很清楚,我简单讲下:
使用注解的方式,那么你需要在Serivce层,DAO层的时候,需要在类上进行注解,才可获得spring的依赖注入;
如果使用java配置的方式,那么就不需要在类上写注解了,直接在配置类里面进行申明即可。
Java源代码配置是写在类里面的,而注解配置是在类上进行注解,这就相当于一个在房门上,一个在房间里的桌子上,如果有人来拜访坐在房间里面的主人自然应该先敲门。注解配置就是那一扇门。
本着默认顺序——先加载先执行的原则,自然在优先级上表现为xml配置>注解配置>Java源代码配置
但实际上,我海还是没有找到关于此方面优先级明确的定义。