在Linux系统上配置HeteroCL

在Linux系统上配置HeteroCL

前言

简单记录配置HeteroCL的全过程,此项目链接

这是一个从Python DSL到HLS C的编译栈,实现了用高层级的抽象软件语言在FPGA定义硬件的关联结构。之前配置过的FPGA编译栈项目,比如Scale-HLS,Hector,Soda-opt在前端使用上都不太友好,只能测试一些给定例子的输入程序,HeteroCL则可以直接嵌入在python中使用非常便于开发。

HeteroCL和另外三个项目的相似之处是都使用MLIR基础框架作为项目的编译搭建平台,设计了一套自定义的IR方言。此外,HeteroCL环境搭建操作比较简单,用python的setuptools工具屏蔽了MLIR源项目构建过程、hcl-dialect方言构建过程以及安装包的配置过程。

步骤

1.有丰富的克隆失败仓库的经验之后,总结出最快最稳定的克隆方式是在github desktop中直接通过url链 接下载,在shell中克隆仓库经常会面临由于网络重置导致重新克隆的风险,而且前者不需要手动配置子模块git submodule update --init --recursive

参考官网

git clone https://github.com/cornell-zhang/heterocl.git heterocl-mlir
cd heterocl-mlir
git submodule update --init --recursive
  1. 在开始下载第三方安装和加载本地hcl-mlir安装包之前建立一个python的虚拟环境。

    单独的安装环境可以有效地隔离开主机中的已有安装包,避免在构建过程中出现无法写入文件权限的问题 ,十分感谢大佬给我调试问题的思路

      python -m venv myvenve
    
       pip install . -v
    
       # export LLVM path
    
       export LLVM_BUILD_DIR=$(pwd)/hcl-dialect/externals/llvm-project/build
       export PATH=${LLVM_BUILD_DIR}/bin:${PATH}
    
  2. 测试 检测HeteroCL和hcl-dialect模块是否被正确安装

    python3 -m pytest test
    

体会

虽然还不太理解heteroCL 软件设计的项目细节,但是从使用setuptools工具脚本自动安装过程的冰山一角工程能力中窥见,HeteroCL项目的软件设展现了良好的用户交互能力,无需手动配置复杂各个模块之间的依赖关系。

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值