|
Intel编译器如今改成了OneAPI,并且可以免费使用,终于不用频繁更新授权文件或者改服务器时间了。但如果免费的东西太好用,谁还买付费服务呢?OneAPI就有几个令人颇为不爽的地方:
1. 更新频繁。两到三个月一个小版本,一年一个大版本,每次更新要下载20多G的数据。
2. 更新时不删除旧版本。官方的意思是希望用户通过--config选项加载自己需要的版本。但就频繁更新还bug不断的情况来看,八成是学了老朋友微软,把用户当测试人员。
这样每更新一次/分区就少20G,没几次就满了。官方手册上说可以用系统的包管理器删掉旧版本。看上去似乎不难,写个脚本,根据版本号过滤下就行了。
但事情哪有这么简单?你能想到的,Intel也能想到。事情诡就诡在不同组件更新批次不一样,有的已经更新到了2022.1.0,有的还停留在2021.5.0。根据版本号删除的话,要么有误伤的,要么有漏网的。眼见/分区马上就满了,特的写了一个python脚本把旧版组件筛选出来。我用的系统是opensuse,所以包管理器是zypper。用CentOS的话,需要把zypper换成dnf,并把管道和包名的正则表达式改写一下:
- command = "zypper search -i oneapi | grep oneapi | awk '{print $3}'"
- pattern = re.compile(r"^intel\-oneapi\-([a-zA-Z]+\-)+[0-9\.]+$")
复制代码 这个脚本的作用是输出就版组件的名字,因此需要搭配包管理器使用,例如
- zypper remove $(get_old_oneapi.py)
复制代码
get_old_oneapi.py
(1.28 KB, 下载次数 Times of downloads: 19)
|
评分 Rate
-
查看全部评分 View all ratings
|