linzy_hccl/

hcomm

公开

HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。

forked from cann/hcomm

0
代码Commits分支Pull Requests讨论

变更对比

选择分支名或 Tag 名,也可以输入一个 commit 的 ID,点击对比按钮。

当前
目标
246次提交20个文件改动

2026年3月9日 的提交

const 修饰参数
693cfcd0
Zzeng_hao提交于 1 个月前
CleanCode清理
e58087aa
Rrockethcgs提交于 1 个月前
code check
be41062f
Zzghre提交于 1 个月前
clear sc warning
5f0697a1
WWujingChen提交于 1 个月前
host网卡调用getLbMax函数问题修复
bbb484ca
Wwangduoyu_Dream提交于 1 个月前
fix:code review
b0b82d95
Rren-mengguang提交于 1 个月前
ag_0209
e1d7c11f
NNANYI00提交于 1 个月前

2026年3月10日 的提交

feat(ccu): sort links by remote rank ID for consistent ordering
7e84353c
IInnoecho提交于 1 个月前
aiv deter prec
2175911b
Cchenyia提交于 1 个月前
support coll comm & orion comm mix-running
ebb54874
Oone_random提交于 1 个月前
adapt rtSetXpuDeivce
836b9b15
ZzwlStateflow提交于 1 个月前
fix strict log
880c2486
Yyevolin2023提交于 1 个月前
add 1p start and end trace
43beda09
Yyuechenyao_huawei提交于 1 个月前
fix send recv acl graph
b080ff52
Gguoziqi2025提交于 1 个月前
[Build] 修改 so 打包方式,调用 pack_targets_and_files()
4b2669b7
Jjiyuanhao提交于 1 个月前
fix tp attr
78652989
Hhlko提交于 1 个月前
blockgroup
3808de2f
Ccywwwwww提交于 1 个月前
Revert "support coll comm & orion comm mix-running"
0c033874
Rren-mengguang提交于 1 个月前
alter License
90fffa3a
Mmaxinyuan1提交于 1 个月前
unfold mc2 on aicpu just support AICPU_TS(2)
daa9cfa6
WWujingChen提交于 1 个月前
Issue Modification
d7c21fdd
Qqq_46994783提交于 1 个月前
clear sc warning
68c89e9e
WWujingChen提交于 1 个月前
ccu allreduce nhr use one die
7408a7e4
Zzhongyu1提交于 1 个月前

2026年3月11日 的提交

bugfix(ccu): fix device physic id
8d443cbe
Oone_random提交于 1 个月前
hcommThreadJoin
3d531ca6
Llinzy_hccl提交于 1 个月前
clear hccl sc warning
e4b24acf
WWujingChen提交于 1 个月前
增加HcommEndpointCreate和CreateEndpoint入参校验,在UrmaEndpoint::init内增加错误日志, 修改HcommEndpointGet_接口名
a0b773f5
Wwengzhuohao提交于 1 个月前
HCCP support query_device
b10b3ca6
Xxz00xz提交于 1 个月前
snapshot
eb7ebf87
BBigGitMan提交于 1 个月前
fix issue
c920fb6d
Ffanbin1004提交于 1 个月前
AR preformance fix [A3]
a33dcf41
Ccann-robot提交于 1 个月前
adapt trace end info
e342bbbf
Yyuechenyao_huawei提交于 1 个月前
fix bug of opretry for alltoallv cache
4f9b5b10
Ggcw_TwqkoH55提交于 1 个月前
aiv cache add aiv_only
b2d8cdae
Lliuhaoyu35提交于 1 个月前
aiv
febe0cec
BBigGitMan提交于 1 个月前
[Build] Fix pip3 and hccl_legacy
af5b340b
Jjiyuanhao提交于 1 个月前
[Fix] fix hccl_legacy
c1252701
Jjiyuanhao提交于 1 个月前

2026年3月12日 的提交

HCCP support nda api
3453c768
Xxz00xz提交于 1 个月前
catch the preempt port exception when single rank multi process
bde6f87f
WWujingChen提交于 1 个月前
Remove hccl_api.h and update all references
2497e014
Yyanzhenghang提交于 1 个月前
Merge branch 'master' of https://gitcode.com/zhangjianning/hcomm into master
4b7a9fd4
Zzhangjianning提交于 1 个月前
bufix cleancode
d11bf778
Mmumu233提交于 1 个月前
fix urma header
83c7842f
AAI-oriented_programming提交于 1 个月前
HCCP support RaNdaGetDirectFlag
cdfc64ad
Xxz00xz提交于 1 个月前

2026年3月13日 的提交

remove libascend_kms.so in host
c02625e6
AAI-oriented_programming提交于 1 个月前
HCCP adapt HalMemUnRegUbSegment
4089676a
Xxz00xz提交于 1 个月前
clean code
02fd1bb8
Zzeng_hao提交于 1 个月前
fix(zero_copy): fix wrong iterator check in GetLocalIpc2RemoteAddr
d0e0b3d3
Ffan33提交于 1 个月前
delete env variable diagnose
ce82dd2e
Yyuechenyao_huawei提交于 1 个月前
support aclgraph destroy callback
5d73e4a1
Llaodazhao1提交于 1 个月前
EI0003
b1cfc821
Hhowell_why提交于 1 个月前
pack libccl_kernel.so
1af93dd1
Mmaxinyuan1提交于 1 个月前
fix: HcclGetRemoteIpcHcclBuf接口增加错误原因提示打印
ecddeb3f
Rrockethcgs提交于 1 个月前
adapt get jetty
06a90029
Yyuechenyao_huawei提交于 1 个月前
alter struct init
3dfb026f
Mmaxinyuan1提交于 1 个月前
support build rdma-core offline
03315594
AAI-oriented_programming提交于 1 个月前
Hcomm Thread API bugfix
fa61b9fc
Jjankin_weng提交于 1 个月前
urma_endpoint中修改sockethandlemanager调用位置
5ef2eefd
Wwengzhuohao提交于 1 个月前
dfx plus
c58cc58f
Llinyixin4提交于 1 个月前
aiv reducescatter aiv_only prec
455f33f9
Cchenyia提交于 1 个月前
Delete MAX_GLOBAL_MEM_REG_COUNT
0a24f88b
Llinzhenkang提交于 1 个月前
fix profiling static graph
d8fad8de
Aacjr0011提交于 1 个月前
[Fix] Rename 950
bcb8d50b
Jjiyuanhao提交于 1 个月前
fix_A5_AICPU_OOM_PERF
a487816b
Cclggstudy提交于 1 个月前

2026年3月14日 的提交

fix HcommThreadJoin extern c
2da17804
Llinzy_hccl提交于 1 个月前
channel复用
9c4126a9
Llinzy_hccl提交于 1 个月前
modify docs readme
26db6597
Fflyswa提交于 1 个月前
commInitFailSetNullPtr
d5a79226
BBigGitMan提交于 1 个月前
rm drv headers
dda3d5d1
AAI-oriented_programming提交于 1 个月前
增加A5rankinfo生产代码,避免用户需要人工配置rootinfo文件
fb75bdfa
Yyuncliu提交于 1 个月前
adaptToC23DriverMaster
d251787f
HHelmar提交于 1 个月前
alltoallv target
7b4e67e2
Ccywwwwww提交于 1 个月前
fix thread aicpu bug
773f6679
Llinzy_hccl提交于 1 个月前
one sided globalmem support multi thread
9c5589a2
Llaodazhao1提交于 1 个月前
fix nullptr core dump
1abd85b8
Oouyangxizi提交于 1 个月前
fix: 告警清理
58037fd5
Rrockethcgs提交于 1 个月前
remove SL != 0
db1ff8aa
Gguoziqi2025提交于 1 个月前
profiling_and_taskexception
ee609f18
Wweixin_58244yso提交于 1 个月前

2026年3月16日 的提交

host_cpu_roce_channel
2e37deff
ZzwlStateflow提交于 1 个月前
pingMesh_addValidation
82b2d5a8
Wweixin_58244yso提交于 1 个月前
support coll comm & orion comm mix-running
e8c17ee2
Rren-mengguang提交于 1 个月前
alter license
e11065f3
Mmaxinyuan1提交于 1 个月前
3.14 ccu_fix
f68bca17
Ggcw_dFpssWuk提交于 1 个月前
fix rdma core link
ce9676a9
AAI-oriented_programming提交于 1 个月前
del ASCEND320 ASCEND920
940f69b1
Yyuxjbiu提交于 1 个月前
[Docs] Update example docs
e2ce8ab1
Jjiyuanhao提交于 1 个月前
broadcast图模式支持AIV-A3
e63b2367
Lleironghao1提交于 1 个月前
modified topomatch for L2 net config
4494d403
Bbz_lee提交于 1 个月前
Host DPU Data Plane API Rename
0fb919e1
Pp_ch提交于 1 个月前
add legacy checker testcase
8ba46ec8
ZZhanPhil提交于 1 个月前
delete cp algo config
10b158d4
Cchenliang267提交于 1 个月前
rootinfo generate
10ca38cb
Jjianfeng_jiang提交于 1 个月前
alltoallv
74b648a2
Ccywwwwww提交于 1 个月前
Degrade log level in peer, hdc and ra_adp
3b28b215
Zzhongqin2020提交于 1 个月前
nslb开源
865d2094
Ppentakill_提交于 1 个月前
日志打印修复
b8ff7217
Qqq_46994783提交于 1 个月前
withdraw_adaptC23Driver
99c0a563
HHelmar提交于 1 个月前

2026年3月17日 的提交

profiling_fix_bug
e88e80bc
Wweixin_58244yso提交于 1 个月前
fix compile warning
b0120f2a
IInnoecho提交于 1 个月前
modify docs readme
8c2675a5
Fflyswa提交于 1 个月前
clean code
12a493b3
Zzeng_hao提交于 1 个月前
fix: 修复图模式无附属从流时SPK和AIV-mix用例报错
4c4f3372
Rrockethcgs提交于 1 个月前
legacy checker testcase
11072eed
ZZhanPhil提交于 1 个月前
Resolved DFX and other issues.
e807f108
Zzhangjianning提交于 1 个月前
fix tlv
5a21aab7
AAI-oriented_programming提交于 1 个月前
thread复用
9881effc
Llinzy_hccl提交于 1 个月前
[Fix] Fix compile
aee4437e
Jjiyuanhao提交于 1 个月前
A5 PCIE
7e28a610
Ccann-robot提交于 1 个月前
Delete redundant code
c5018bfc
Zzeng_hao提交于 1 个月前
add llt
3134f727
TtianmingL提交于 1 个月前
codecheck
1b1311b7
Zzghre提交于 1 个月前
reducescatter_cntCKE
b49b06e0
NNANYI00提交于 1 个月前
fix alltoallv mistakenly used CP algo
8f0c5eec
Cchenliang267提交于 1 个月前
rs_cke
00ab9f4f
NNANYI00提交于 1 个月前
fix(hcom):HcomSetGroupTopoInfo
a2ae3c46
Rren-mengguang提交于 1 个月前

2026年3月18日 的提交

llt修复
a8b8a5d9
IInnoecho提交于 1 个月前
Hcomm Channel API adapt[WIP]
6bcb3f7f
Jjankin_weng提交于 1 个月前
fix: 修复内存泄露和越界问题
6eabff04
Rrockethcgs提交于 1 个月前
clean code
43b832ef
WWujingChen提交于 1 个月前
修改gcc13 netco issu
3400c747
Ppentakill_提交于 1 个月前
fix DTS
679a7af2
Ffanbin1004提交于 1 个月前
HCCP update ibv_extend.h
31ed4fcb
Xxz00xz提交于 1 个月前
3.17 fix ccu repetition rate
2e72bb22
Ggcw_dFpssWuk提交于 1 个月前
HcommGE [PLS]
5ed60d7b
Rrenyumin提交于 1 个月前
fix aicpu launch kernelParam bug
135150c5
Wwenp1213提交于 1 个月前
add include array
cf4225f3
Yyangshaohua提交于 1 个月前
clean code
3ade506c
Ggaoxiong17提交于 1 个月前
fix DFX.
879ecbc6
Zzhangjianning提交于 1 个月前
EI0020
2c1ff04c
Hhowell_why提交于 1 个月前
[UT] Add ut cov
426302fd
Jjiyuanhao提交于 1 个月前
clean code
352660ea
Zzeng_hao提交于 1 个月前
cleancode
4cc675a3
Zzhongyu1提交于 1 个月前
socket listen port depends on deviceport of ranktable
54fd8ef4
ZzwlStateflow提交于 1 个月前
HcclChannelGetRemoteMems memNum check fix
5db1cb2c
Jjankin_weng提交于 1 个月前

2026年3月19日 的提交

optimize aiv compile time
0668520b
Cchenyia提交于 1 个月前
taskexception&profling问题单修改同步
f0e0cd70
Wweixin_58244yso提交于 1 个月前
Support using resv mem
23ae4309
Zzhongqin2020提交于 1 个月前
fix hccp init product type
085d0a89
AAI-oriented_programming提交于 1 个月前
add log
8bfc4232
Llinzy_hccl提交于 1 个月前
fix error log commit to console when execute with GE
f8e5906a
WWujingChen提交于 1 个月前
【Feature】multiContext In OrderLaunch[WIP]
50f90be4
HHelmar提交于 1 个月前
HcclThreadResGetInfo
764d04f0
Zzhouqi148提交于 1 个月前
【BUGFIX】aicpu性能性能问题
750d8a3a
Ggaoyongqiang提交于 1 个月前
add aiv 优化
9aa2918d
GGoodTimeLZ提交于 1 个月前
fix log level
47c1ebc9
Lleironghao1提交于 1 个月前
reducescatter 图模式精度问题fix
3fb7731e
Aadum提交于 1 个月前
Add some A5 argments validate check
749f7a2c
CCophilin提交于 1 个月前
HcclChannelAcquire add IP address Check【WIP】
f605c05b
Jjankin_weng提交于 1 个月前

2026年3月20日 的提交

change runtime_headers to npu_runtime_headers
6468476a
TtianmingL提交于 1 个月前
fix clos path sequence
8ac65cd8
Xxumochi提交于 1 个月前
fix subcomm 1p
42953292
Xxumochi提交于 1 个月前
remove commConfiger zerocopy
7be0e860
DDelicacy__提交于 1 个月前
rollback code
607b2058
TtianmingL提交于 1 个月前
解决aiv alltoallv精度问题
585b217b
Qqq_36173568提交于 1 个月前
add CcuTransportGroupMgr destroy exception catch
74999f46
Yyuechenyao_huawei提交于 1 个月前
[Build] Fix third party cmake
be6a4633
Jjiyuanhao提交于 1 个月前
[pls] Update HostCpuRoceChannel to support HIXL
129ff7f4
Pp_ch提交于 1 个月前
[pls]add tls status checks and unit tests
b4bdd08e
Llinzhenkang提交于 1 个月前
fix ci logic id
14ee1197
AAI-oriented_programming提交于 1 个月前
GE_UT
fd455e6c
Rrenyumin提交于 1 个月前
change runtime_headers to npu_runtime_headers
0ef1471f
TtianmingL提交于 1 个月前
set deterministic optim to true
51037e57
Gguoziqi2025提交于 1 个月前
set device port default 16666
09daa692
WWujingChen提交于 1 个月前
thread notify规格修改为640
a1d55b23
Cchenjunting提交于 1 个月前
A5 PCIE 补丁
44fbf7b7
Ccann-robot提交于 1 个月前
revert classify rule
b51c571c
Ccann-robot提交于 1 个月前

2026年3月21日 的提交

bugfix
122ab1fc
LLeewis提交于 1 个月前
feat(ccu): add CLOS topology support with configurable SQ size
9d7063f1
IInnoecho提交于 1 个月前
EI0008_Get_VERSION
c26311c3
Cclggstudy提交于 1 个月前
aiv aclgraph no cache
38c0251b
Cchenyia提交于 1 个月前
fix l0 profiling
bd510efe
Aacjr0011提交于 1 个月前
[fix]: ccu alltoallv fast launch Bugfix
796ae4e6
Zzhongyu1提交于 1 个月前
fix issue 103
6a1b688e
Ggcw_ceFcSOhT提交于 1 个月前
fix issue110
bfd67479
Ffanbin1004提交于 1 个月前
修复ccu aicpu未复用socket
8871b9b6
Llinzy_hccl提交于 1 个月前
errmessage
ab56a479
Hhowell_why提交于 1 个月前
A5 PCIE 补丁2
3de421ba
Ccann-robot提交于 1 个月前

2026年3月23日 的提交

profiling parsing error
ca82d8d1
Mmaxinyuan1提交于 1 个月前
reduce_two_shot_ccu_sche
a9535517
Ccann-robot提交于 1 个月前
add kernelrun and template
3cfcca2a
Zzeng_hao提交于 1 个月前
fix: HcommChannelGetRemoteMem不对外开放
cd1c9b5e
Rrockethcgs提交于 1 个月前
aiv allgather fix
61abf611
GGoodTimeLZ提交于 1 个月前
fix ci and bug in id0 fault
152f6979
AAI-oriented_programming提交于 1 个月前
bugfix of int overflow when timeout is set to -1
401ac053
Ddichengduo提交于 1 个月前
modify CONTRIBUTING priciples
1fb5ca02
Wwenxuemin提交于 1 个月前
fix llt local build
727d36a8
TtianmingL提交于 1 个月前
fix ccu_all_to_all
83d35690
Ggcw_dFpssWuk提交于 1 个月前
fix: CleanCode告警清理
31e9bc7b
Rrockethcgs提交于 1 个月前
del log
032451fd
Oouyangxizi提交于 1 个月前

2026年3月24日 的提交

打印截断问题
50dc5a11
Yyan_yu_a123提交于 1 个月前
test readme modify
5b742674
LLeewis提交于 1 个月前
fix aclgraph callback core
486117f1
Llaodazhao1提交于 1 个月前
[pls]batch-send-recv-group-slice-pr into master
0b833f78
Llinzhenkang提交于 1 个月前
remove blacklist
f41ef3a9
Ccann-robot提交于 1 个月前
fix: allow rdma buffer size >= 4GB
382c046f
Pp_ch提交于 1 个月前
HcommWriteOnThread u32 datatype bugfix
02078265
Jjankin_weng提交于 1 个月前
rootinfo server detect
a7992168
CCophilin提交于 1 个月前
aiv support fp64
2d360444
Hhechangcheng2303提交于 1 个月前
打印修改tag
cad1a6c0
GGorgeous42提交于 1 个月前
alltoallv bugfix of IsSatisfyAlltoallContinuousPipelineCondition
beaa8ac0
Ccann-robot提交于 1 个月前
channel fence api
1253a8ea
Kkingkong000提交于 1 个月前
为资源分配函数添加调试信息,增强错误处理能力
edf3ca5a
IInnoecho提交于 1 个月前

2026年3月25日 的提交

update
ea32e726
Llhdlhdlhd1234569提交于 1 个月前
[update] A5 pub_inc
b5c658fc
Llhdlhdlhd1234569提交于 1 个月前
feat(ccu): choose rtp enable loop eids
6ab3a13c
Oone_random提交于 1 个月前
fix install print info
866ab475
TtianmingL提交于 1 个月前
Support using resv mem
b580b70c
Zzhongqin2020提交于 1 个月前
补充所有dataType
43ec85cc
Wweixin_58244yso提交于 1 个月前
getRootInfoBug
f5e3a800
BBigGitMan提交于 1 个月前
修复调用HcommEndpointCreate接口时,ip传参错误导致程序coredump的问题
b72e210d
Wwengzhuohao提交于 1 个月前
[Fix] Fix net_co
97d40596
Jjiyuanhao提交于 1 个月前
Delete PAGE_ALIGN_2MB
3eb5d3cf
Zzhongqin2020提交于 1 个月前
change RS deter impl
263b8cc9
Hhanjiahui提交于 1 个月前
fix aicpu timeout
c1ede324
Llkk6提交于 1 个月前
1.aiv_only ag cross-node prec fix; 2.ag single server small ccl prec fix; 3.a3 comm algo prec fix
5c110931
Cchenyia提交于 1 个月前
hcomm: change AllReduce deter algorithm impl.
4033d2ee
Ccann-robot提交于 1 个月前
update
7184c60e
Llhdlhdlhd1234569提交于 1 个月前
支持RDMA属性retryCnt retryInterval SL TC配置
1d1ed2bd
Wwangduoyu_Dream提交于 1 个月前
修复device侧notify恢复异常问题
a95af899
Llinzy_hccl提交于 1 个月前
fix aclgraph offload + opbase
858031ac
Gguoziqi2025提交于 1 个月前
check ranktable ip address
d8b26a1f
WWujingChen提交于 1 个月前

2026年3月26日 的提交

Host Roce Fix Bug
99def76f
ZzwlStateflow提交于 1 个月前
modify build.md
e06dd21a
Fflyswa提交于 1 个月前
snapshot special dealing to rank1 and backup, and skip ra call.
69e788ae
Ccann-robot提交于 1 个月前
hccp support nda create cq
bab5997f
Cchengjing43提交于 1 个月前
fix subcomm get endpoint
1853f34a
Xxumochi提交于 1 个月前
change dfx in aiv only
fe2b576f
Cchengym提交于 1 个月前
2026.3 code check
c5b4b4d1
Ggcw_dFpssWuk提交于 1 个月前
添加对HCOMM_DATA_TYPE_MXFP8的数据类型支持
f0dc7a0a
IInnoecho提交于 1 个月前
fix(opretry):移除重复的一致性校验
8000e9a2
Rren-mengguang提交于 1 个月前
revert//check ranktable ip address
801b13e4
Ccann-robot提交于 1 个月前
aiv support mxfp8
71e67984
Yyangshaohua提交于 1 个月前
A5 PCIE 补丁3
64eb0d16
Ccann-robot提交于 1 个月前
reduce oversized header file
824cf8ca
Zzhongqin2020提交于 1 个月前
check ranktable ip address, new impl
043d41ff
WWujingChen提交于 1 个月前
handle the special case where the rank count is 1 in HcclGroup
89d1504b
Cchengjing43提交于 1 个月前

2026年3月27日 的提交

ub_mem_transport transfer large data bugfix
f4d9fe26
Jjankin_weng提交于 1 个月前
HCCP support tp peer
8531b153
Xxz00xz提交于 1 个月前
fix AllGatherGraphPipeline in A2
fdd2887a
Wwangkl提交于 1 个月前
aiv sk联调
5b6e0555
Yyevolin2023提交于 1 个月前
op cache adapt aclgraph
73bed6d6
Llaodazhao1提交于 1 个月前
A5 Abnormal param check
c4690d74
CCophilin提交于 1 个月前
modify aiv only dfx
164510b3
Cchengym提交于 1 个月前
fix CalNumBlocks log
8b9bb544
Yyevolin2023提交于 1 个月前
ranktable校验优化
2ba5ece0
Rren-mengguang提交于 1 个月前

2026年4月24日 的提交

upload: 上传文件
8e8daa9f
Llinzy_hccl提交于 2 天前
20 个文件变更+155809-32197
修改.gitcode/PULL_REQUEST_TEMPLATE.zh-CN.md+1-1
...@@ -2,7 +2,7 @@
2 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->
3
4 ## 关联的Issue
5-<!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123-->
6+<!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。-->
7 <!-- 如果这个PR不涉及Issue,可填写"NA"。-->
8
9 ## 测试
10
修改CMakeLists.txt+35-11
...@@ -136,11 +136,10 @@ elseif(BUILD_OPEN_PROJECT)
2 OUTPUT_TARGET "generate_device_hccp_package"
3 OUTPUT "cann-hcomm-compat.tar.gz"
4 TARGETS hccp_service.bin
5- FILES ${HCCP_TAR_DIR}/librs.so ${HCCP_TAR_DIR}/libra_adp.so ${HCCP_TAR_DIR}/libtls_adp.so ${HCCP_TAR_DIR}/libascend_kms.so
6+ FILES ${HCCP_TAR_DIR}/librs.so ${HCCP_TAR_DIR}/libra_adp.so ${HCCP_TAR_DIR}/libtls_adp.so ${HCCP_TAR_DIR}/libascend_kms.so ${HCCP_TAR_DIR}/libnet_co.so
7 MANIFEST "hccp_compat_bin_hash.cfg"
8 )
9 add_dependencies(generate_device_hccp_package hccp_service.bin)
10-
11 sign_file(
12 INPUT "cann-hcomm-compat.tar.gz"
13 CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/scripts/sign/hcomm_check_cfg.xml"
...@@ -149,13 +148,23 @@ elseif(BUILD_OPEN_PROJECT)
15 )
16 add_dependencies(sign_cann_hcomm_compat generate_device_hccp_package)
17
18- add_custom_target(generate_device_hccd_package
19- COMMAND cd ${HCCD_TAR_DIR} && ls && tar czf ../cann-hccd-compat.tar.gz lib64
20- DEPENDS hccd
21- COMMENT "Creating cann-hccd-compat.tar.gz"
22+ set(HCCD_TAR_LIBS
23+ ${HCCD_TAR_DIR}/lib64/libascend_kms.so
24+ ${HCCD_TAR_DIR}/lib64/libhccd.so
25+ ${HCCD_TAR_DIR}/lib64/libra_hdc.so
26+ ${HCCD_TAR_DIR}/lib64/libra_peer.so
27+ ${HCCD_TAR_DIR}/lib64/libra.so
28+ ${HCCD_TAR_DIR}/lib64/librs.so
29+ ${HCCD_TAR_DIR}/lib64/libtls_adp.so
30+ )
31+ pack_targets_and_files(
32+ OUTPUT_TARGET "generate_device_hccd_package"
33+ OUTPUT "cann-hccd-compat.tar.gz"
34+ FILES ${HCCD_TAR_LIBS}
35+ MANIFEST "bin_hash.cfg"
36+ TAR_ROOT_DIR "lib64"
37 )
38 add_dependencies(generate_device_hccd_package hccd)
39-
40 sign_file(
41 INPUT "cann-hccd-compat.tar.gz"
42 CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/scripts/sign/hcomm_check_cfg.xml"
...@@ -165,10 +174,16 @@ elseif(BUILD_OPEN_PROJECT)
44 add_dependencies(sign_cann_hccd_compat generate_device_hccd_package)
45
46 if(KERNEL_MODE)
47- add_custom_target(generate_device_aicpu_package
48- COMMAND cd ${CCL_KERNEL_TAR_DIR} && ls && tar czf ../aicpu_hcomm.tar.gz aicpu_kernels_device
49- DEPENDS ccl_kernel
50- COMMENT "Creating aicpu_hcomm.tar.gz"
51+ set(CCL_KERNEL_TAR_LIBS
52+ ${CCL_KERNEL_TAR_DIR}/aicpu_kernels_device/libccl_kernel_plf.so
53+ ${CCL_KERNEL_TAR_DIR}/aicpu_kernels_device/libccl_kernel.so
54+ )
55+ pack_targets_and_files(
56+ OUTPUT_TARGET "generate_device_aicpu_package"
57+ OUTPUT "aicpu_hcomm.tar.gz"
58+ FILES ${CCL_KERNEL_TAR_LIBS}
59+ MANIFEST "bin_hash.cfg"
60+ TAR_ROOT_DIR "aicpu_kernels_device"
61 )
62 add_dependencies(generate_device_aicpu_package ccl_kernel)
63 sign_file(
...@@ -208,7 +223,15 @@ elseif(BUILD_OPEN_PROJECT)
65 install(FILES ${BUILD_DEVICE_DIR}/src/framework/libaicpu_custom.json
66 DESTINATION ${INSTALL_CCL_KERNEL_JSON_DIR} OPTIONAL
67 )
68+
69+ add_custom_target(install_ccl_kernel DEPENDS
70+ ${BUILD_DEVICE_DIR}/src/framework/libccl_kernel.so
71+ )
72+ install(FILES ${BUILD_DEVICE_DIR}/src/framework/libccl_kernel.so
73+ DESTINATION ${INSTALL_LIBRARY_DIR} OPTIONAL
74+ )
75 add_dependencies(install_tar hcomm)
76+ add_dependencies(install_ccl_kernel hcomm)
77 endif()
78
79 install(FILES
...@@ -222,6 +245,7 @@ elseif(BUILD_OPEN_PROJECT)
81 pkg_inc/hccl/hccl_ex.h
82 pkg_inc/hccl/hccl_one_sided_services.h
83 pkg_inc/hccl/hcom.h
84+ pkg_inc/hccl/hccl_diag.h
85 pkg_inc/hccl/hcomm_diag.h
86 pkg_inc/hccl/dtype_common.h
87 pkg_inc/hccl/workflow.h
88
修改CONTRIBUTING.md+66-11
...@@ -1,22 +1,77 @@
2 # 贡献指南
3
4-本项目欢迎广大开发者体验并参与贡献,在参与社区贡献之前。请参见[cann-community](https://gitcode.com/cann/community)了解行为准则,进行 CLA 协议签署,了解源码仓的贡献流程。
5+感谢您对HCCL的关注,本项目欢迎广大开发者体验并参与贡献。在参与社区贡献之前,请参见[cann-community](https://gitcode.com/cann/community)了解行为准则,进行 CLA 协议签署,了解源码仓的贡献流程。
6
7-开发者准备本地代码与提交 PR 时需要重点关注如下几点:
8+## 期望的贡献
9
10+- 问题修复:修复自己发现的或在Issue列表中的Bug,比如代码中的逻辑错误、内存泄漏或崩溃等问题;
11+- 社区任务:领取HCCL社区公布的任务;
12+- 性能优化:针对特定算子或特定架构的性能优化;
13+- 新功能支持:增加平台功能、新算子或新业务场景的支持;
14+- 文档优化:改进文档、注释或使用用例。
15+
16+## 预备知识
17+
18+### 编码规范
19+
20+请遵从[CANN 社区编码规范](https://gitcode.com/cann/community/tree/master/contributor/coding-standards)。
21+
22+### PR规范
23 1. 提交 PR 时,请按照 PR 模板仔细填写本次 PR 的业务背景、目的、方案等信息。
24 2. 若您的修改不是简单的 bug 修复,而是涉及到新增特性、新增接口、新增配置参数或者修改代码流程等,请务必先通过 Issue 进行方案讨论,以避免您的代码被拒绝合入。若您不确定本次修改是否可被归为“简单的 bug 修复”,亦可通过提交 Issue 进行方案讨论。
25
26-## 贡献场景
27+## 贡献流程
28
29-开发者贡献场景主要包括:
30+### 问题修复或简单代码更改
31
32-- 反馈 BUG
33-- 建议特性
34-- 改进文档
35-- 修复问题
36-- 新增样例
37+1. 认领Issue,可在Issue中讨论修复方案;
38+2. 发起PR,确保包含触发该Bug的回归测试;
39+3. 对PR进行审核、批准并合入。
40+
41+### 新功能或新特性
42+
43+1. 记录Issue
44+
45+发起Requirement类型的Issue,按照模板描述您想贡献的新功能与使用场景,在社区发起讨论。
46+
47+2. 需求评审
48+
49+- 议题申报:在[SIG双周例会](https://etherpad-cann.meeting.osinfra.cn/p/sig-hccl)申报议题进行评审。
50+- 评审内容:
51+ - 需求的应用场景与业务价值;
52+ - 需求的紧迫性与重要性;
53+ - 是否符合社区当前的技术路线与愿景。
54+
55+3. 系统方案评审
56+
57+- 议题申报:在[SIG双周例会](https://etherpad-cann.meeting.osinfra.cn/p/sig-hccl)申报议题进行评审。
58+- 评审内容:
59+ - 技术可行性;
60+ - 系统整体架构的合理性;
61+ - 潜在的技术风险与问题识别。
62+
63+4. 软件方案设计
64+
65+您需要将系统方案转化为可执行的软件设计方案,同时包含完善的测试与验证方案,保障功能完善且不影响已有功能。
66+
67+- 设计原则:
68+ - 需详细阐述模块划分、数据流向及关键逻辑,确保模块职责单一,模块间解耦;
69+ - 需要包含特性开关设计,确保新功能可以通过配置开关进行隔离,便于灰度发布与回滚。
70+
71+5. 软件方案评审
72+
73+在评审前,请确保在相应Requirement Issue中进行过充分讨论。
74+
75+- 议题申报:在[SIG双周例会](https://etherpad-cann.meeting.osinfra.cn/p/sig-hccl)申报议题进行评审。
76+
77+6. 提交PR
78+
79+开发者准备本地代码并提交PR;提交PR时,请按照 PR 模板仔细填写本次 PR 的业务背景、目的、方案等信息。
80+
81+7. 社区版本特性规划
82+
83+Roadmap规划时,根据新功能是否成熟、稳定以及优先级,决定是否加入到具体的社区版本。
84+
85+*注:本文档有社区维护,如有变更建议,请在Issue中提出。*
86
87-## 编码规范
88
89-若您需要贡献代码,请遵从[CANN 社区编码规范](https://gitcode.com/cann/community/tree/master/contributor/coding-standards)。
90
修改README.md+19-0
...@@ -33,6 +33,12 @@ HCOMM通信基础库采用分层解耦的设计思路,将通信能力划分为
2 | │ ├── base # 通信算法模板
3 | │ ├── impl # 通信算法实现
4 | │ └── pub_inc # 通信算法模块头文件
5+│ ├── commom # 公共基础功能目录
6+| │ ├── debug # 调试配置管理
7+| │ ├── error_code # 错误码管理
8+| │ ├── health # 健康检查与一致性校验
9+| │ ├── launch_device # kernel加载处理
10+| │ └── stream # 流管理工具
11 │ ├── framework # 通信框架源码目录
12 | │ ├── cluster_maintenance # 集群维护,包括:快照、心跳、算子重执行等
13 | │ ├── common # 通信框架通用逻辑
...@@ -42,6 +48,15 @@ HCOMM通信基础库采用分层解耦的设计思路,将通信能力划分为
15 | │ ├── inc # 通信框架模块头文件
16 | │ ├── nslbdp # 数据面网络负载均衡
17 | │ └── op_base # 通信域、单算子接口入口
18+│ ├── hccd # 提供进程间点对点通信能力
19+│ ├── legacy # 历史版本兼容目录
20+| │ ├── common # 公共基础组件
21+| │ ├── framework # 框架核心实现
22+| │ ├── include # 公共接口头文件
23+| │ ├── interface # 接口适配层
24+| │ ├── local_build # 本地构建工具
25+| │ ├── service # 服务层
26+| │ └── unified_platform # 统一平台层
27 │ └── platform # 通信平台源码目录
28 | │ ├── comm_primitive # 通信原语
29 | │ ├── common # 通信平台通用逻辑
...@@ -51,6 +66,10 @@ HCOMM通信基础库采用分层解耦的设计思路,将通信能力划分为
31 | │ ├── ping_mesh # 网络探测功能
32 | │ ├── resource # 通信资源管理
33 | │ └── task # 下发任务管理
34+│ ├── pub_inc # 公共接口头文件目录
35+| │ ├── aicpu # AICPU 专用接口
36+| │ ├── inner # 内部实现专用接口
37+| │ └── new # 新架构下的公共接口
38 ├── python # Python 包
39 ├── include # 对外头文件
40 ├── pkg_inc # 包间接口头文件
41
修改SECURITY.md+2-1
...@@ -30,7 +30,8 @@
2 | 依赖 | 不涉及 | cmake/third_party/gtest.cmake | https://gitcode.com/cann-src-third-party/googletest/releases/download/v1.14.0/googletest-1.14.0.tar.gz | 从 gitcode 下载 googletest 源码,作为编译依赖 |
3 | 依赖 | 不涉及 | cmake/third_party/mockcpp.cmake | https://gitcode.com/cann-src-third-party/mockcpp/releases/download/v2.7-h4/mockcpp-2.7.tar.gz | 从 gitcode 下载 mockcpp 源码,作为编译依赖 |
4 | 依赖 | 不涉及 | cmake/third_party/protobuf.cmake | https://gitcode.com/cann-src-third-party/protobuf/releases/download/v25.1/protobuf-25.1.tar.gz | 从 gitcode 下载 protobuf 源码,作为编译依赖 |
5-
6+| 依赖 | 不涉及 | rdma-core | https://gitcode.com/cann-src-third-party/rdma-core/releases/download/v42.7-h1/rdma-core-42.7.tar.gz.gz | 从 gitcode 下载 rdma-core 源码,作为编译依赖 | |
7+| 依赖 | 不涉及 | rdma-core-patch | https://gitcode.com/cann-src-third-party/rdma-core/releases/download/v42.7-h1/rdma-core-42.7.patch.gz | 从 gitcode 下载 rdma-core-patch 源码,作为编译依赖 |
8 ---
9
10 ## 端口声明
11
修改Third_Party_Open_Source_Software_List.yaml+3-0
...@@ -30,3 +30,6 @@ protobuf:
2 abseil-cpp:
3 version: 20250127.0
4 type: test
5+rdma-core:
6+ version: v42.7-h1
7+ type: build
8\ No newline at end of file
9
修改Third_Party_Open_Source_Software_Notice+0-6
...@@ -147,12 +147,6 @@ test/ut/depends/include/acl/acl_prof.h
2 test/ut/depends/pkg_inc/runtime/runtime/mem.h
3 test/ut/depends/include/acl/acl_tdt.h
4 test/ut/depends/include/driver/ascend_hal_external.h
5-src/platform/hccp/external_depends/inc/driver/hwts_task_info.h
6-src/platform/hccp/external_depends/inc/driver/ascend_inpackage_hal.h
7-src/platform/hccp/external_depends/inc/driver/ascend_hal_base.h
8-src/platform/hccp/external_depends/inc/driver/ascend_hal_external.h
9-src/platform/hccp/external_depends/inc/driver/ascend_hal_error.h
10-src/platform/hccp/external_depends/inc/driver/ascend_hal.h
11
12 Copyright notice(s):
13 Copyright 2019-2020 Huawei Technologies Co., Ltd
14
修改build.sh+100-11
...@@ -37,6 +37,7 @@ BUILD_CB_TEST="false"
2
3 ENABLE_UT="off"
4 ENABLE_ST="off"
5+ENABLE_GCOV="off"
6 CMAKE_BUILD_TYPE="Debug"
7 HCOMM_LIB_NAME="libhcomm.so"
8 INSTALL_XML_FILE="${CURRENT_DIR}/scripts/package/module/ascend/CommLib.xml"
...@@ -81,6 +82,13 @@ function clean()
10 mkdir -p ${BUILD_DIR}
11 }
12
13+function rmdir()
14+{
15+ if [ "${DO_NOT_CLEAN}" = "false" ] && [ $# -gt 0 ]; then
16+ rm -rf "$@"
17+ fi
18+}
19+
20 function cmake_config()
21 {
22 local extra_option="$1"
...@@ -103,7 +111,7 @@ function build_package(){
24 function build_device(){
25 cmake_config
26 log "Info: build_device"
27- TARGET_LIST="hccp_service.bin rs ccl_kernel_plf ccl_kernel_plf_a ccl_kernel aicpu_custom_json aicpu_custom"
28+ TARGET_LIST="hccp_service.bin rs net_co ccl_kernel_plf ccl_kernel_plf_a ccl_kernel aicpu_custom_json aicpu_custom"
29 echo "TARGET_LIST=${TARGET_LIST}"
30 PKG_TARGET_LIST="generate_device_hccp_package generate_device_aicpu_package"
31 echo "PKG_TARGET_LIST=${PKG_TARGET_LIST}"
...@@ -181,6 +189,48 @@ function build_test() {
33 export LD_LIBRARY_PATH=${LIBRARY_DIR}${LD_LIBRARY_PATH} && export LD_PRELOAD=${PRELOAD} && export ASAN_OPTIONS=${ASAN_OPT} \
34 && ${BUILD_DIR}/test/st/algorithm/testcase/executor_alltoall_A3_pipeline_testcase/executor_pipeline_hccl_test
35 fi
36+
37+ if [ "${TEST_TASK_NAME}" == "legacy_aicpu_2d_testcase" ] || [ "${TEST_TASK_NAME}" == "legacy_all_testcase" ] || [ "$TEST" = "all" ];then
38+ build legacy_alg_aicpu_2d_testcase
39+ export LD_LIBRARY_PATH=${LIBRARY_DIR}${LD_LIBRARY_PATH} && export LD_PRELOAD=${PRELOAD} && export ASAN_OPTIONS=${ASAN_OPT} \
40+ && ${BUILD_DIR}/test/legacy/st/algorithm/testcase/aicpu_2d_testcase/legacy_alg_aicpu_2d_testcase
41+ fi
42+
43+ if [ "${TEST_TASK_NAME}" == "legacy_ccu_1d_hf16p_testcase" ] || [ "${TEST_TASK_NAME}" == "legacy_all_testcase" ] || [ "$TEST" = "all" ];then
44+ build legacy_alg_ccu_1d_hf16p_testcase
45+ export LD_LIBRARY_PATH=${LIBRARY_DIR}${LD_LIBRARY_PATH} && export LD_PRELOAD=${PRELOAD} && export ASAN_OPTIONS=${ASAN_OPT} \
46+ && ${BUILD_DIR}/test/legacy/st/algorithm/testcase/ccu_1d_hf16p_testcase/legacy_alg_ccu_1d_hf16p_testcase
47+ fi
48+
49+ if [ "${TEST_TASK_NAME}" == "legacy_ccu_1d_testcase_part1" ] || [ "${TEST_TASK_NAME}" == "legacy_all_testcase" ] || [ "$TEST" = "all" ];then
50+ build legacy_alg_ccu_1d_testcase_part1
51+ export LD_LIBRARY_PATH=${LIBRARY_DIR}${LD_LIBRARY_PATH} && export LD_PRELOAD=${PRELOAD} && export ASAN_OPTIONS=${ASAN_OPT} \
52+ && ${BUILD_DIR}/test/legacy/st/algorithm/testcase/ccu_1d_testcase_part1/legacy_alg_ccu_1d_testcase_part1
53+ fi
54+
55+ if [ "${TEST_TASK_NAME}" == "legacy_ccu_1d_testcase_part2" ] || [ "${TEST_TASK_NAME}" == "legacy_all_testcase" ] || [ "$TEST" = "all" ];then
56+ build legacy_alg_ccu_1d_testcase_part2
57+ export LD_LIBRARY_PATH=${LIBRARY_DIR}${LD_LIBRARY_PATH} && export LD_PRELOAD=${PRELOAD} && export ASAN_OPTIONS=${ASAN_OPT} \
58+ && ${BUILD_DIR}/test/legacy/st/algorithm/testcase/ccu_1d_testcase_part2/legacy_alg_ccu_1d_testcase_part2
59+ fi
60+
61+ if [ "${TEST_TASK_NAME}" == "legacy_alg_ccu_reduce" ] || [ "${TEST_TASK_NAME}" == "legacy_all_testcase" ] || [ "$TEST" = "all" ];then
62+ build legacy_alg_ccu_reduce
63+ export LD_LIBRARY_PATH=${LIBRARY_DIR}${LD_LIBRARY_PATH} && export LD_PRELOAD=${PRELOAD} && export ASAN_OPTIONS=${ASAN_OPT} \
64+ && ${BUILD_DIR}/test/legacy/st/algorithm/testcase/ccu_reduce_testcase/legacy_alg_ccu_reduce
65+ fi
66+
67+ if [ "${TEST_TASK_NAME}" == "legacy_function_ut_testcase" ] || [ "${TEST_TASK_NAME}" == "legacy_all_testcase" ] || [ "$TEST" = "all" ];then
68+ build legacy_alg_function_ut_testcase
69+ export LD_LIBRARY_PATH=${LIBRARY_DIR}${LD_LIBRARY_PATH} && export LD_PRELOAD=${PRELOAD} && export ASAN_OPTIONS=${ASAN_OPT} \
70+ && ${BUILD_DIR}/test/legacy/st/algorithm/testcase/function_ut_testcase/legacy_alg_function_ut_testcase
71+ fi
72+
73+ if [ "${TEST_TASK_NAME}" == "legacy_alg_testcase" ] || [ "${TEST_TASK_NAME}" == "legacy_all_testcase" ] || [ "$TEST" = "all" ];then
74+ build legacy_alg_testcase
75+ export LD_LIBRARY_PATH=${LIBRARY_DIR}${LD_LIBRARY_PATH} && export LD_PRELOAD=${PRELOAD} && export ASAN_OPTIONS=${ASAN_OPT} \
76+ && ${BUILD_DIR}/test/legacy/st/algorithm/testcase/legacy_alg_testcase/legacy_alg_testcase
77+ fi
78 }
79
80 function build_kernel() {
...@@ -210,7 +260,7 @@ function build_ut() {
82 -DCMAKE_INSTALL_PREFIX=${BUILD_OUTPUT_DIR} \
83 -DASCEND_INSTALL_PATH=${ASCEND_INSTALL_PATH} \
84 -DCANN_3RD_LIB_PATH=${CANN_3RD_LIB_PATH} \
85- -DENABLE_COV=${ENABLE_COV} \
86+ -DENABLE_GCOV=${ENABLE_GCOV} \
87 -DENABLE_TEST=${ENABLE_TEST} \
88 -DENABLE_UT=${ENABLE_UT} \
89 -DOUTPUT_PATH=${OUTPUT_PATH} \
...@@ -240,16 +290,14 @@ function build_ut() {
91 }
92
93 function make_ut_gov() {
94- if [[ "X$ENABLE_UT" = "Xon" || "X$ENABLE_COV" = "Xon" ]]; then
95+ if [[ "X$ENABLE_UT" = "Xon" && "X$ENABLE_GCOV" = "Xon" ]]; then
96 echo "Generated coverage statistics, please wait..."
97 cd ${CURRENT_DIR}
98 rm -rf ${CURRENT_DIR}/cov
99 mkdir -p ${CURRENT_DIR}/cov
100- lcov -c -d ${BUILD_DIR}/test/ut/ -o cov/all.info
101- lcov -r cov/all.info */src/platform/hccp/external_depends/* -o cov/tmp.info
102- lcov -e cov/all.info */src/algorithm/* */src/common/* */src/hccd/* */src/legacy/* */src/platform/* */src/pub_inc/* -o cov/coverage.info
103- # LCOV_COMMAND="lcov -r cov/tmp.info ${CURRENT_DIR}src/* -o cov/coverage.info" && ${LCOV_COMMAND}
104- # lcov -r cov/tmp.info "/usr/*" "${OUTPUT_PATH}/*" "${BASEPATH}/test/*" "${ASCEND_INSTALL_PATH}/*" "${CANN_3RD_LIB_PATH}/*" -o cov/coverage.info
105+ lcov -c -d ${BUILD_DIR}/test/ut/ -d ${BUILD_DIR}/test/legacy/ut/ -o cov/coverage.info
106+ lcov -r cov/coverage.info */src/platform/hccp/external_depends/* -o cov/coverage.info
107+ lcov -e cov/coverage.info */src/algorithm/* */src/common/* */src/hccd/* */src/legacy/* */src/framework/* */src/platform/* */src/pub_inc/* -o cov/coverage.info
108
109 cd ${CURRENT_DIR}/cov
110 genhtml coverage.info
...@@ -423,6 +471,46 @@ while [[ $# -gt 0 ]]; do
112 TEST_TASK_NAME="executor_pipeline_hccl_test"
113 shift
114 ;;
115+ --legacy_all_testcase)
116+ TEST="partial"
117+ TEST_TASK_NAME="legacy_all_testcase"
118+ shift
119+ ;;
120+ --legacy_aicpu_2d_testcase)
121+ TEST="partial"
122+ TEST_TASK_NAME="legacy_aicpu_2d_testcase"
123+ shift
124+ ;;
125+ --legacy_ccu_1d_hf16p_testcase)
126+ TEST="partial"
127+ TEST_TASK_NAME="legacy_ccu_1d_hf16p_testcase"
128+ shift
129+ ;;
130+ --legacy_ccu_1d_testcase_part1)
131+ TEST="partial"
132+ TEST_TASK_NAME="legacy_ccu_1d_testcase_part1"
133+ shift
134+ ;;
135+ --legacy_ccu_1d_testcase_part2)
136+ TEST="partial"
137+ TEST_TASK_NAME="legacy_ccu_1d_testcase_part2"
138+ shift
139+ ;;
140+ --legacy_alg_ccu_reduce)
141+ TEST="partial"
142+ TEST_TASK_NAME="legacy_alg_ccu_reduce"
143+ shift
144+ ;;
145+ --legacy_function_ut_testcase)
146+ TEST="partial"
147+ TEST_TASK_NAME="legacy_function_ut_testcase"
148+ shift
149+ ;;
150+ --legacy_alg_testcase)
151+ TEST="partial"
152+ TEST_TASK_NAME="legacy_alg_testcase"
153+ shift
154+ ;;
155 --aicpu) # 新增选项,用于只编译 ccl_kernel.so
156 KERNEL="true"
157 shift
...@@ -440,6 +528,7 @@ while [[ $# -gt 0 ]]; do
159 shift
160 ;;
161 --cov)
162+ ENABLE_GCOV="on"
163 COV="true"
164 shift
165 ;;
...@@ -542,7 +631,7 @@ cd ${BUILD_DIR}
167
168 if [ "${ENABLE_UT}" == "on" ]; then
169 build_ut
170- # make_ut_gov
171+ make_ut_gov
172 elif [ -n "${TEST}" ];then
173 build_test
174 elif [ "${KERNEL}" == "true" ]; then
...@@ -577,7 +666,7 @@ elif [ "${FULL_MODE}" == "true" ]; then
176 cd .. & cd ${BUILD_DIR}
177 CUSTOM_OPTION="${CURRENT_CUSTOM_OPTION} -DDEVICE_MODE=OFF -DPRODUCT=ascend -DPRODUCT_SIDE=host -DUSE_ALOG=1"
178 build_package
179- rm -rf ${BUILD_DEVICE_DIR} ${BUILD_HCCD_DIR}
180+ rmdir ${BUILD_DEVICE_DIR} ${BUILD_HCCD_DIR}
181 else
182 cd ..
183 mkdir -p ${BUILD_DEVICE_DIR}
...@@ -588,5 +677,5 @@ else
185 cd .. & cd ${BUILD_DIR}
186 CUSTOM_OPTION="${CURRENT_CUSTOM_OPTION} -DDEVICE_MODE=OFF -DPRODUCT=ascend -DPRODUCT_SIDE=host -DUSE_ALOG=1"
187 build_package
188- rm -rf ${BUILD_DEVICE_DIR}
189+ rmdir ${BUILD_DEVICE_DIR}
190 fi
191
新增classify_rule.yaml+24-0
...@@ -0,0 +1,24 @@
2+# Copyright (c) 2025 Huawei Technologies Co., Ltd.
3+# This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+# CANN Open Software License Agreement Version 2.0 (the "License").
5+# Please refer to the License for details. You may not use this file except in compliance with the License.
6+# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+# INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+# See LICENSE in the root of the software repository for the full text of the License.
9+
10+hcomm:
11+ commiter:
12+ "yanyefeng"
13+ team: "hcomm"
14+ src:
15+ release:
16+ - src
17+ - include
18+ unrelease:
19+ - src/legacy/framework/ccu/ccu_ins/ccu_ins.h
20+ - src/legacy/service/
21+ - src/algorithm/
22+ - src/platform/hccp/
23+ llt:
24+ ut_check: true
25+ st_check: false
26
修改cmake/func.cmake+25-7
...@@ -20,6 +20,7 @@
2 # [TARGETS target1 [target2 ...]]
3 # [FILES file1 [file2 ...]]
4 # [MANIFEST <manifest_filename>] # e.g., "aicpu_compat_bin_hash.cfg"
5+# [TAR_ROOT_DIR <directory>] # e.g., "aicpu_kernels_device" (optional, default: ".")
6 # )
7 #
8 # Examples:
...@@ -37,12 +38,21 @@
10 # TARGETS app
11 # FILES "README.md"
12 # )
13+#
14+# # With custom tar root directory
15+# pack_targets_and_files(
16+# OUTPUT aicpu_hcomm.tar.gz
17+# TARGETS ccl_kernel
18+# FILES ${CCL_KERNEL_TAR_LIBS}
19+# MANIFEST "bin_hash.cfg"
20+# TAR_ROOT_DIR "aicpu_kernels_device"
21+# )
22 # =============================================================================
23 set(_FUNC_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}")
24 function(pack_targets_and_files)
25 cmake_parse_arguments(ARG
26 ""
27- "OUTPUT;MANIFEST;OUTPUT_TARGET"
28+ "OUTPUT;MANIFEST;OUTPUT_TARGET;TAR_ROOT_DIR"
29 "TARGETS;FILES"
30 ${ARGN}
31 )
...@@ -79,6 +89,14 @@ function(pack_targets_and_files)
33 message(FATAL_ERROR "[pack_targets_and_files] No targets or files specified to pack")
34 endif()
35
36+ if(ARG_TAR_ROOT_DIR)
37+ set(staging_subdir "${staging_dir}/${ARG_TAR_ROOT_DIR}")
38+ set(tar_src ${ARG_TAR_ROOT_DIR})
39+ else()
40+ set(staging_subdir "${staging_dir}")
41+ set(tar_src ".")
42+ endif()
43+
44 set(manifest_arg "")
45 if(ARG_MANIFEST)
46 if("${ARG_MANIFEST}" STREQUAL "")
...@@ -87,25 +105,25 @@ function(pack_targets_and_files)
48 if(IS_ABSOLUTE "${ARG_MANIFEST}")
49 message(FATAL_ERROR "[pack] MANIFEST must be relative (e.g., 'sha256sums.cfg')")
50 endif()
51- set(manifest_arg -D_MANIFEST_FILE=${staging_dir}/${ARG_MANIFEST})
52+ set(manifest_arg -D_MANIFEST_FILE=${staging_subdir}/${ARG_MANIFEST})
53 endif()
54
55 add_custom_command(
56- OUTPUT ${staging_dir}
57- COMMAND ${CMAKE_COMMAND} -E make_directory "${staging_dir}"
58+ OUTPUT ${staging_subdir}
59+ COMMAND ${CMAKE_COMMAND} -E make_directory "${staging_subdir}"
60 VERBATIM
61 )
62
63 add_custom_command(
64 OUTPUT "${ARG_OUTPUT}"
65 COMMAND ${CMAKE_COMMAND}
66- -D _STAGING_DIR=${staging_dir}
67+ -D _STAGING_DIR=${staging_subdir}
68 ${manifest_arg}
69 -D "_ITEMS=$<JOIN:${src_items},;>"
70 -P "${_FUNC_CMAKE_DIR}/_pack_stage.cmake"
71- COMMAND ${CMAKE_COMMAND} -E tar "czf" "${ARG_OUTPUT}" .
72+ COMMAND ${CMAKE_COMMAND} -E tar "czf" "${ARG_OUTPUT}" ${tar_src}
73 WORKING_DIRECTORY ${staging_dir}
74- DEPENDS ${ARG_TARGETS} ${staging_dir}
75+ DEPENDS ${ARG_TARGETS} ${staging_subdir}
76 COMMENT "Packing with ${ARG_OUTPUT}"
77 VERBATIM
78 )
79
修改cmake/hcomm_utils.cmake+6-3
...@@ -98,9 +98,12 @@ set_target_properties(ascend_kms PROPERTIES
2 INTERFACE_INCLUDE_DIRECTORIES "${HCOMM_UTILS_INSTALL_PATH}/${PRODUCT_SIDE}/include"
3 IMPORTED_LOCATION "${HCOMM_UTILS_INSTALL_PATH}/${PRODUCT_SIDE}/lib/libascend_kms.so"
4 )
5-install(FILES ${HCOMM_UTILS_INSTALL_PATH}/${PRODUCT_SIDE}/lib/libascend_kms.so
6- DESTINATION ${INSTALL_LIBRARY_DIR} OPTIONAL
7-)
8+
9+if(${PRODUCT_SIDE} STREQUAL "device")
10+ install(FILES ${HCOMM_UTILS_INSTALL_PATH}/${PRODUCT_SIDE}/lib/libascend_kms.so
11+ DESTINATION ${INSTALL_LIBRARY_DIR} OPTIONAL
12+ )
13+endif()
14
15 add_library(tls_adp SHARED IMPORTED)
16 add_dependencies(tls_adp hcomm_utils)
17
修改cmake/third_party/abseil-cpp.cmake+14-14
...@@ -1,8 +1,8 @@
2 # ----------------------------------------------------------------------------
3-# This program is free software, you can redistribute it and/or modify it.
4 # Copyright (c) 2025 Huawei Technologies Co., Ltd.
5+# This program is free software, you can redistribute it and/or modify it under the terms and conditions of
6 # This file is a part of the CANN Open Software.
7-# Licensed under CANN Open Software License Agreement Version 2.0 (the "License").
8+# CANN Open Software License Agreement Version 2.0 (the "License").
9 # Please refer to the License for details. You may not use this file except in compliance with the License.
10 # THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
11 # BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. See LICENSE in the root of
...@@ -24,16 +24,16 @@ else()
13 # 下载
14 message(STATUS "[ThirdParty] Downloading ${ABSEIL_NAME} from ${ABSEIL_URL}")
15 set(ABSEIL_PROJECT_URL ${ABSEIL_URL})
16-
17- include(ExternalProject)
18- ExternalProject_Add(third_party_abseil_cpp
19- URL ${ABSEIL_PROJECT_URL}
20- URL_HASH SHA256=16242f394245627e508ec6bb296b433c90f8d914f73b9c026fddb905e27276e8
21- DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}
22- DOWNLOAD_NO_PROGRESS TRUE
23- DOWNLOAD_NO_EXTRACT TRUE # 仅下载,不解压
24- CONFIGURE_COMMAND ""
25- BUILD_COMMAND ""
26- INSTALL_COMMAND ""
27- )
28 endif()
29+
30+include(ExternalProject)
31+ExternalProject_Add(third_party_abseil_cpp
32+ URL ${ABSEIL_PROJECT_URL}
33+ URL_HASH SHA256=16242f394245627e508ec6bb296b433c90f8d914f73b9c026fddb905e27276e8
34+ DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}
35+ DOWNLOAD_NO_PROGRESS TRUE
36+ DOWNLOAD_NO_EXTRACT TRUE # 仅下载,不解压
37+ CONFIGURE_COMMAND ""
38+ BUILD_COMMAND ""
39+ INSTALL_COMMAND ""
40+)
41
修改cmake/third_party/boost.cmake+6-2
...@@ -14,9 +14,13 @@ set(BOOST_NAME "boost")
2 set(BOOST_FILE "boost_1_87_0.tar.gz")
3 set(BOOST_URL "https://gitcode.com/cann-src-third-party/boost/releases/download/v1.87.0/${BOOST_FILE}")
4 set(BOOST_PKG_PATH ${CANN_3RD_LIB_PATH}/${BOOST_FILE})
5-set(BOOST_SRC_PATH ${PROJECT_SOURCE_DIR}/build/third_party/boost)
6+set(BOOST_SRC_PATH ${CANN_3RD_LIB_PATH}/boost)
7
8-if(NOT EXISTS ${BOOST_SRC_PATH}/boost/config.hpp)
9+if(EXISTS ${BOOST_SRC_PATH}/boost/config.hpp)
10+ # 离线编译场景,优先使用已解压的源码目录
11+ message(STATUS "[ThirdParty] Found boost source: ${BOOST_SRC_PATH}")
12+ add_custom_target(third_party_boost)
13+else()
14 if(EXISTS ${BOOST_PKG_PATH})
15 # 离线编译场景,优先使用已下载的包
16 message(STATUS "[ThirdParty] Found local boost package: ${BOOST_PKG_PATH}")
17
修改cmake/third_party/gtest.cmake+2-2
...@@ -1,8 +1,8 @@
2 # ----------------------------------------------------------------------------
3-# This program is free software, you can redistribute it and/or modify it.
4 # Copyright (c) 2025 Huawei Technologies Co., Ltd.
5+# This program is free software, you can redistribute it and/or modify it under the terms and conditions of
6 # This file is a part of the CANN Open Software.
7-# Licensed under CANN Open Software License Agreement Version 2.0 (the "License").
8+# CANN Open Software License Agreement Version 2.0 (the "License").
9 # Please refer to the License for details. You may not use this file except in compliance with the License.
10 # THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
11 # BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. See LICENSE in the root of
12
修改cmake/third_party/mockcpp.cmake+7-4
...@@ -23,6 +23,9 @@ set(MOCKCPP_PATCH_FILE "mockcpp-2.7_py3.patch")
2 set(MOCKCPP_PATCH_URL "https://gitcode.com/cann-src-third-party/mockcpp/releases/download/v2.7-h4/${MOCKCPP_PATCH_FILE}")
3 set(MOCKCPP_PATCH_PATH ${CANN_3RD_LIB_PATH}/${MOCKCPP_PATCH_FILE})
4
5+# mockcpp 需要使用 boost 库
6+include(${CMAKE_CURRENT_LIST_DIR}/boost.cmake)
7+
8 # 查找目录下是否已经安装,避免重复编译安装
9 message(STATUS "[ThirdParty] MOCKCPP_INSTALL_PATH=${MOCKCPP_INSTALL_PATH}")
10 find_path(MOCKCPP_INCLUDE
...@@ -54,9 +57,6 @@ message(STATUS "[ThirdParty] Found MockCpp: ${mockcpp_FOUND}")
12 if(mockcpp_FOUND AND NOT FORCE_REBUILD_CANN_3RD)
13 message(STATUS "[ThirdParty] MockCpp found in ${MOCKCPP_INSTALL_PATH}, and not force rebuild cann third_party")
14 else()
15- # 编译 mockcpp 需要 boost 库
16- include(${CMAKE_CURRENT_LIST_DIR}/boost.cmake)
17-
18 # mockcpp 补丁
19 if(EXISTS ${MOCKCPP_PATCH_PATH})
20 message(STATUS "[ThirdParty] Found local mockcpp patch package: ${MOCKCPP_PATCH_PATH}")
...@@ -131,5 +131,8 @@ endif()
22
23 set_target_properties(mockcpp PROPERTIES
24 IMPORTED_LOCATION ${MOCKCPP_INSTALL_PATH}/lib/libmockcpp.a
25- INTERFACE_INCLUDE_DIRECTORIES ${MOCKCPP_INSTALL_PATH}/include
26+)
27+target_include_directories(mockcpp INTERFACE
28+ ${MOCKCPP_INSTALL_PATH}/include
29+ ${BOOST_SRC_PATH}
30 )
31
修改cmake/third_party/openssl.cmake+3-3
...@@ -26,7 +26,7 @@ set(OPENSSL_FILE "openssl-openssl-3.0.9.tar.gz")
2 set(OPENSSL_URL "https://gitcode.com/cann-src-third-party/openssl/releases/download/openssl-3.0.9/${OPENSSL_FILE}")
3 set(OPENSSL_PKG_PATH ${CANN_3RD_LIB_PATH}/${OPENSSL_FILE})
4 set(OPENSSL_INSTALL_PATH ${CANN_3RD_LIB_PATH}/openssl-${PRODUCT_SIDE})
5-set(OPENSSL_SRC_PATH ${PROJECT_SOURCE_DIR}/build/third_party/openssl-${PRODUCT_SIDE})
6+set(OPENSSL_SRC_PATH ${PROJECT_SOURCE_DIR}/openssl-${PRODUCT_SIDE}-src)
7 set(OPENSSL_INCLUDE_DIR
8 ${OPENSSL_INSTALL_PATH}/include
9 ${OPENSSL_SRC_PATH}/include
...@@ -34,14 +34,14 @@ set(OPENSSL_INCLUDE_DIR
11
12 # 查找目录下是否已经安装,避免重复编译安装
13 message(STATUS "[ThirdParty] OPENSSL_INSTALL_PATH=${OPENSSL_INSTALL_PATH}")
14-find_library(CRYPTO_INCLUDE
15+find_path(CRYPTO_INCLUDE
16 NAMES crypto/x509.h
17 PATH_SUFFIXES include
18 NO_CMAKE_SYSTEM_PATH
19 NO_CMAKE_FIND_ROOT_PATH
20 PATHS ${OPENSSL_INSTALL_PATH}
21 )
22-find_library(SSL_INCLUDE
23+find_path(SSL_INCLUDE
24 NAMES openssl/ssl.h
25 PATH_SUFFIXES include
26 NO_CMAKE_SYSTEM_PATH
27
修改cmake/third_party/protobuf.cmake+4-2
...@@ -1,8 +1,8 @@
2 # ----------------------------------------------------------------------------
3-# This program is free software, you can redistribute it and/or modify it.
4 # Copyright (c) 2025 Huawei Technologies Co., Ltd.
5+# This program is free software, you can redistribute it and/or modify it under the terms and conditions of
6 # This file is a part of the CANN Open Software.
7-# Licensed under CANN Open Software License Agreement Version 2.0 (the "License").
8+# CANN Open Software License Agreement Version 2.0 (the "License").
9 # Please refer to the License for details. You may not use this file except in compliance with the License.
10 # THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
11 # BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. See LICENSE in the root of
...@@ -77,6 +77,8 @@ else()
13
14 set(PROTOBUF_OPTS
15 -DCMAKE_CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0"
16+ -DCMAKE_CXX_STANDARD=14
17+ -DCMAKE_CXX_STANDARD_REQUIRED=ON
18 -DCMAKE_BUILD_TYPE=Release
19 -DCMAKE_INSTALL_PREFIX=${PROTOBUF_INSTALL_PATH}
20 -DCMAKE_INSTALL_LIBDIR=lib64
21
修改cmake/third_party/rdma-core.cmake+76-18
...@@ -8,36 +8,94 @@
2 # See LICENSE in the root of the software repository for the full text of the License.
3 # ------------------------------------------------------------------------------------------------------------
4
5+function(download_file URL FILE_PATH EXPECTED_HASH)
6+ if(NOT EXISTS "${FILE_PATH}")
7+ get_filename_component(FILENAME "${FILE_PATH}" NAME)
8+ message(STATUS "Downloading ${FILENAME}...")
9+
10+ file(DOWNLOAD
11+ ${URL}
12+ "${FILE_PATH}"
13+ EXPECTED_HASH ${EXPECTED_HASH}
14+ STATUS DOWNLOAD_STATUS
15+ SHOW_PROGRESS
16+ )
17+
18+ list(GET DOWNLOAD_STATUS 0 STATUS_CODE)
19+ if(NOT STATUS_CODE EQUAL 0)
20+ list(GET DOWNLOAD_STATUS 1 ERROR_MSG)
21+ file(REMOVE "${FILE_PATH}")
22+ message(FATAL_ERROR "Failed to download ${FILENAME}: ${ERROR_MSG}")
23+ endif()
24+ else()
25+ get_filename_component(FILENAME "${FILE_PATH}" NAME)
26+ message(STATUS "${FILENAME} already exists, skipping download")
27+ endif()
28+endfunction()
29+
30 message("Build third party library rdma-core")
31 set(RDMA_CORE_NAME "rdma-core")
32-set(ROOT_BUILD_PATH "${CMAKE_BINARY_DIR}")
33+set(RDMA_CORE_VERSION "42.7")
34+set(RDMA_CORE_URL "https://gitcode.com/cann-src-third-party/rdma-core/releases/download/v42.7-h1/rdma-core-42.7.tar.gz")
35+set(RDMA_CORE_PATCH_URL "https://gitcode.com/cann-src-third-party/rdma-core/releases/download/v42.7-h1/rdma-core-42.7.patch")
36+set(ROOT_BUILD_PATH "${CMAKE_SOURCE_DIR}/third_party")
37 set(RDMA_CORE_SEARCH_PATHS "${CANN_3RD_LIB_PATH}/${RDMA_CORE_NAME}")
38 set(RDMA_CORE_ROOT_DIR ${ROOT_BUILD_PATH}/rdma-core)
39-set(RDMA_CORE_SRC_DIR ${ROOT_BUILD_PATH}/rdma-core-42.7)
40-set(RDMA_CORE_BUILD_DIR ${ROOT_BUILD_PATH}/rdma-core/build)
41+set(RDMA_CORE_ARCHIVE rdma-core-${RDMA_CORE_VERSION}.tar.gz)
42+set(RDMA_CORE_PATCH rdma-core-${RDMA_CORE_VERSION}.patch)
43+set(RDMA_CORE_ARCHIVE_PATH "${ROOT_BUILD_PATH}/${RDMA_CORE_ARCHIVE}")
44+set(RDMA_CORE_PATCH_PATH "${ROOT_BUILD_PATH}/${RDMA_CORE_PATCH}")
45+set(RDMA_CORE_SRC_DIR "${ROOT_BUILD_PATH}/rdma-core-${RDMA_CORE_VERSION}")
46+set(RDMA_CORE_BUILD_DIR "${ROOT_BUILD_PATH}/rdma-core-build")
47+file(MAKE_DIRECTORY "${ROOT_BUILD_PATH}")
48+
49 if(POLICY CMP0135)
50 cmake_policy(SET CMP0135 NEW)
51 endif()
52
53+if(DEFINED CANN_3RD_LIB_PATH AND CANN_3RD_LIB_PATH)
54+ set(RDMA_CORE_ARCHIVE_PATH "${CANN_3RD_LIB_PATH}/${RDMA_CORE_ARCHIVE}")
55+ set(RDMA_CORE_PATCH_PATH "${CANN_3RD_LIB_PATH}/${RDMA_CORE_PATCH}")
56+endif()
57 if(EXISTS ${RDMA_CORE_SEARCH_PATHS})
58 set(RDMA_CORE_SRC_DIR ${RDMA_CORE_SEARCH_PATHS})
59 message(STATUS "Successfully copied ${RDMA_CORE_SEARCH_PATHS} to ${ROOT_BUILD_PATH}.")
60 else()
61- set(RDMA_CORE_URL "https://gitcode.com/cann-src-third-party/rdma-core/releases/download/v42.7-h1/rdma-core-42.7.tar.gz")
62- set(RDMA_CORE_PATCH_URL "https://gitcode.com/cann-src-third-party/rdma-core/releases/download/v42.7-h1/rdma-core-42.7.patch")
63- file(DOWNLOAD ${RDMA_CORE_PATCH_URL} ${ROOT_BUILD_PATH}/rdma-core-42.7.patch)
64- file(DOWNLOAD ${RDMA_CORE_URL} ${ROOT_BUILD_PATH}/rdma-core-42.7.tar.gz
65- EXPECTED_HASH SHA256=aa935de1fcd07c42f7237b0284b5697b1ace2a64f2bcfca3893185bc91b8c74d
66- )
67- execute_process(
68- COMMAND tar -zxf rdma-core-42.7.tar.gz
69- WORKING_DIRECTORY ${ROOT_BUILD_PATH}
70- )
71- execute_process(
72- COMMAND patch -p1 -i ${ROOT_BUILD_PATH}/rdma-core-42.7.patch
73- WORKING_DIRECTORY ${RDMA_CORE_SRC_DIR}
74- )
75- message(STATUS "downloading ${RDMA_CORE_URL} to ${RDMA_CORE_ROOT_DIR}")
76+ if(NOT EXISTS "${RDMA_CORE_SRC_DIR}/CMakeLists.txt")
77+ message(STATUS "rdma-core source not found, starting download and setup...")
78+
79+ # -------------------------- downloading src --------------------------
80+ download_file(${RDMA_CORE_URL} ${RDMA_CORE_ARCHIVE_PATH} SHA256=aa935de1fcd07c42f7237b0284b5697b1ace2a64f2bcfca3893185bc91b8c74d)
81+
82+ # -------------------------- dowloading patch --------------------------
83+ download_file(${RDMA_CORE_PATCH_URL} ${RDMA_CORE_PATCH_PATH} SHA256=169bc1707624780d7efecbc9458781efec1961d7ff905aa367bd2b6b78c13d46)
84+
85+ # -------------------------- Extracting --------------------------
86+ message(STATUS "Extracting rdma-core...")
87+ execute_process(
88+ COMMAND tar -zxf "${RDMA_CORE_ARCHIVE_PATH}" -C "${ROOT_BUILD_PATH}"
89+ WORKING_DIRECTORY "${ROOT_BUILD_PATH}"
90+ RESULT_VARIABLE TAR_RESULT
91+ )
92+
93+ if(NOT TAR_RESULT EQUAL 0)
94+ message(FATAL_ERROR "Failed to extract rdma-core archive")
95+ endif()
96+
97+ # -------------------------- patching --------------------------
98+ message(STATUS "Applying rdma-core patch...")
99+ execute_process(
100+ COMMAND patch -p1 -i "${RDMA_CORE_PATCH_PATH}"
101+ WORKING_DIRECTORY "${RDMA_CORE_SRC_DIR}"
102+ RESULT_VARIABLE PATCH_RESULT
103+ )
104+ if(NOT PATCH_RESULT EQUAL 0)
105+ message(FATAL_ERROR "Failed to apply rdma-core patch")
106+ endif()
107+
108+ else()
109+ message(STATUS "rdma-core source already prepared, skipping download/extract/patch")
110+ endif()
111 endif()
112 execute_process(
113 COMMAND ${CMAKE_COMMAND}
114
修改cmake/third_party/ubengine.cmake+1-1
...@@ -17,7 +17,7 @@ set(URMA_SRC_DIR ${URMA_BUILD_PATH}/urma)
2 set(URMA_SRC_DIRS
3 "${URMA_SEARCH_PATHS}/kernelspace/urma/code/lib/urma/include"
4 "${URMA_SEARCH_PATHS}/kernelspace/urma/code/include"
5- "${URMA_SEARCH_PATHS}/userspace/include/external/udma"
6+ "${URMA_SEARCH_PATHS}/userspace/udma/src/urma/hw/udma/include"
7 )
8 set(URMA_INCLUDE_DIR ${URMA_BUILD_PATH}/urma)
9 file(MAKE_DIRECTORY "${URMA_INCLUDE_DIR}")
10
修改docs/README.md+4-1
...@@ -2,7 +2,10 @@
2
3 ## 文档
4
5-- [集合通信库用户指南](https://hiascend.com/document/redirect/CannCommunityHcclUg):介绍HCCL基本概念、如何使用HCCL API进行集合通信功能的开发,如何开发通信算子,以及故障处理与常见配置。
6+- [集合通信库用户指南](https://cann-doc.obs.cn-north-4.myhuaweicloud.com/hccl/HCCL%E9%9B%86%E5%90%88%E9%80%9A%E4%BF%A1%E5%BA%93%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97.pdf):介绍HCCL基本概念、如何使用HCCL API进行集合通信功能的开发,以及故障处理与常见配置。
7+- [通信算子开发指南](https://cann-doc.obs.cn-north-4.myhuaweicloud.com/hccl/%E9%80%9A%E4%BF%A1%E7%AE%97%E5%AD%90%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97.pdf):指导开发者如何基于通信编程API开发通信算子。
8+
9+ > 注意:当前通信算子开发功能处于试用阶段,后续版本可能会存在变更。
10
11 ## 技术文章
12
13