寒武纪MLU SDK 之CNCL介绍和使用说明

简要概述

       CNCLCambricon Communications Library,寒武纪通信库)是面向MLU设计的高性能通信库,是运行在 CNRT (Cambricon Runtime Library,寒武纪运行时库) 之上,完成MLU设备之间数据传输操作的通信库。

『CNCL帮助应用开发者优化了基于MLU进行多机多卡的集合通信(Collective)操作。CNCL支持多种MLU处理芯片的互联技术,包括PCIe、MLU-Link、RoCE、Infiniband Verbs 以及 Sockets。CNCL能够根据芯片的互联拓扑关系,自动的选择最优的通信算法和数据传输路径,从而最大化利用传输带宽完成不同的通信操作。

有关MLU系列产品介绍详细信息请查阅大大通博文《寒武纪产品简介》。 』

 

环境依赖

CNCL主要支持的Linux平台有:CentOS7.6/8.3, Ubuntu 16.04/Ubuntu 18.04/Ubuntu 20.04, Debian9/10。

CNCL依赖库:CNDrv,CNRT,CNDev,CNCC,CNAS,CNPX。

依赖中寒武纪相关的依赖库均可以通过安装寒武纪 CNToolkit 工具包获得。

 

部署CNCL

       用户在使用Cambricon CNCL库之前需要先安装寒武纪CNToolkit工具包,详细安装步骤可以参考大大通博文《寒武纪MLU SDK 之CNToolkit介绍和使用说明》。

     安装完成CNToolkit工具包后,执行下面命令部署Cambricon CNCL。默认头文件(cncl.h)会安装在 /usr/local/neuware/include目录下,链接库文件(libcncl.so)会安装在 /usr/local/neuware/lib64 目录下,示例程序会安装在 /usr/local/neuware/samples/cncl 目录下,其目录结构及说明如下:

|-- cncl

├── CMakeLists.txt              cmake描述文件,用于编译样例。

├── README.md                样例描述与指导。

├── allreduce_demo.cc        cnclAllReduce接口使用样例。

├── broadcast_demo.cc       cnclBroadcast接口使用样例。

└── build.sh                         首先检查依赖库文件是否完整,然后使用cmake编译所有样例。

依赖库目录结构

```

|-- neuware_home

|   |-- include

|   |   |-- cncl.h

|   |   |-- cnrt.h

|   |-- lib64

|   |   |-- libcndev.so

|   |   |-- libcndrv.so

|   |   |-- libcnrt.so

|   |   |-- libcncl.so

|

```

  1. For Ubuntu

命令行执行如下命令安装:

sudo apt install cncl_0.8.0-1.ubuntu16.04_amd64.deb

或者 sudo dpkg -I cncl_0.8.0-1.ubuntu16.04_amd64.deb

  1. For Centos

命令行执行如下命令安装:

sudo rpm -ivh cncl-<x.y.z>-1.el7.x86_64.rpm 或者 sudo yum install cncl-<x.y.z>-1.el7.x86_64.rpm

  1. For Debian

sudo dpkg -i cncl_<x.y.z>-1.debian<v>_amd64.deb 或者 sudo apt install cncl_<x.y.z>-1.debian<v>_amd64.deb

 

编译运行

  1. cd path2/cncl

export NEUWARE_HOME=/usr/local/neuware

./build.sh运行脚本编译sample




   
  2.运行样例(如需源码可查看参考资料的链接中”示例程序”)





参考资料

https://www.cambricon.com/docs/sdk_1.7.0/cncl_1.2.1/user_guide/4_quickstart/installation/index.html

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论