Python团队官宣下线GIL:可选择性关闭

克雷西 发自 凹非寺
量子位 | 公众号 QbitAI

鹅妹子嘤!拖累AI和ML运算的GIL锁终于关!闭!了!

Python官方宣布,在新版的CPython中,GIL锁将成为「可选择项」。

人们终于不必再受到这一限制的困扰了。

81214ecc5f677625226ade182e1e594d.png

这则通告中提到的colesbury,多年来一直致力于让Python官方把GIL移除。

现在这个梦想终于实现了,不仅Python官方对他表示了感谢,网友也给他发去了贺电。

aa6ec618bf2bfae5deddfa6a6bb07533.png

GIL的关闭,意味着此前只能串行的多个线程将可以并行运行。

对于人工智能、机器学习等计算密集型领域,工作效率将大大提高。

听闻这一消息,已经用了20年、快要把Python当成母语的老用户流下了激动的泪水。

bca332b265589266c66e0c1985af933d.png

LeCun也发文表示庆祝:再也没有GIL了!

1f0dfdbafef96f54c52772a6bedf0d87.png

再见了,GIL

根据官方通告显示,GIL的下线工作将分为三个阶段。

短期之内,出于兼容性等考量,「无GIL」将作为实验性功能供用户选择。

在这一阶段(大约是3.13版本),Python团队也需要进行摸索,可能无法提供社区支持。

同时官方也希望发行商在这一阶段不要将no-GIL作为默认属性。

这一过程可能持续1-2年时间。

7ccb8c405bada43410796dc04a985d2e.jpeg

当有足够的社区支持能力后,GIL的退出将进入中期阶段。

这主要取决于修改后的API对旧版本的兼容程度。

这一阶段当中,分销商将开始提供no-GIL版本,但不同的包之间可能存在较大差异

而Python团队的长期目标是将no-GIL作为默认选项,甚至彻底抹去GIL的一切痕迹

官方对此十分期待,但同时为了确保兼容性,也表示不能操之过急。

官方预计,这一目标可能要等到五年之后实现。

b92c408ad7a55ad1a151a256239d5541.jpeg

同时官方也表示,如果在此期间发现关闭GIL的风险远大于收益,会进行回滚操作。

不过,也有吃瓜群众表示,GIL是个嘛玩意儿?

而且这条的浏览量在评论区还排上了第二名。

8fb63182aac12b0c43afe4c738a2c745.png

那就让我们来看看,这把「锁🔐」,究竟「锁」住了什么。

GIL「锁」住了什么

GIL全名为全局解释器锁(Global Interpreter Lock)。这是一种线程管理机制,并不根属于Python语言,而是存在于CPython中。

Cpython是由官方推出、用C语言实现的Python代码解释器。

换言之,只要用的Python是官方版本,都会受到GIL的影响。

ea4c240c618def196092caa134007ebb.jpeg

在GIL锁开启的情况下,同个进程内的多个线程只能串行而不能并行。

GIL的释放有两种触发方式,一种是遇到I/O操作,另一种则是超出时间限制。

遇到I/O操作时,原线程运行结束,其余线程对CPU使用权进行「竞争」。

但如果是超时释放,原来运行的线程会重新加入这场「竞争」。

107e73449f79a4f61725b646a302ba17.jpeg

这种做法是出于安全性考虑,但已经不能适应时代的发展。

根据GIL的原理,主要进行I/O操作的程序,比如网页爬虫,受到的影响并不大。

而对于计算密集型的程序来说,就是另一回事了。

GIL诞生时的CPU还只有一个核心,但在发展的过程中,GIL始终保持着全局锁定的特性。

这就导致了在多核CPU早已普及的今天,多出的核心并没有被利用,大量算力被浪费。

这意味着,对于AI、ML等计算密集领域,效率会出现严重降低。

AI发展如火如荼的现在,姗姗来迟的解决方案终于出炉。

不过,就像这位网友所说的,晚一些总比没有好。

a55a5a8404f94b0305792b6f34268d60.png

参考链接:
[1]https://discuss.python.org/t/a-steering-council-notice-about-pep-703-making-the-global-interpreter-lock-optional-in-cpython/30474
[2]https://twitter.com/soumithchintala/status/1685524194144989184
[3]https://en.wikipedia.org/wiki/Global_interpreter_lock
[4]https://wiki.python.org/moin/GlobalInterpreterLock

「AIGC算力全景与趋势报告 · 量子位智库」下载

AIGC时代,算力成为「硬通货」。当前大模型的发展对算力产生新的需求,算力行业迎来变革机会。机遇当前,量子位智库发布《AIGC算力全景与趋势报告》,扫描下方二维码即可查看完整报告。

8月9日,我们将在北京举办「量子位AIGC行业沙龙——AIGC时代的算力基石」,欢迎感兴趣的企业联系~

201f5dffb0870750c4e4248525dedf15.png

点这里👇关注我,记得标星哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值