PAC 2025

赛后总结

主要的问题在于int8 gemm优化不足,未优化的部分包括:

  • OMP_WAIT_POLICY:启用为ACTIVE,减少线程唤醒的时间
  • 对A的打包应该视为int32数据类型的转置,通过ZA TILE实现
  • mbind madvise透明大页
  • 按块进行并行
  • jemalloc替换malloc(存在多线程内存分配)

Attesion算子优化还能做的:

  • FlashAttesion优化,当时没做的原因是需要转数据,否则精度过不去,转换本身的时间比较长所以没有采用,但是最后看到其他队伍其实是做了的
  • 基于Taylar展开的sve exp

在可优化点中,比较陌生的是透明大页(THP),因为过往的优化经历中,基本没有操作系统调优的权限和空间。Linux的THB使用2MB的页来减少TLB miss。cat /sys/kernel/mm/transparent_hugepage/enabled 可以确认系统THP状态,有三种可能的状态:

1
[always] madvise never
  • always:所有合适内存自动使用THP
  • madvise:对madvise的区域用THP
  • never:禁用

比赛的节点在赛后无法使用了,登录节点是always。等后续有机器可用,需要确认一下这一步的优化效果。