小编Sci*_*Guy的帖子

python为什么不能向量化map()或列表推导

我对向量化了解不多,但是我想了解为什么像python这样的语言无法通过库接口在可迭代对象上提供向量化,就像它提供线程支持一样。我知道许多numpy方法都是矢量化的,但是对于通用计算必须使用numpy可能会受到限制。

我目前的理解是,即使python与“ SIMD”模式匹配,它们也无法向量化它们。例如,理论上不应该对列表的理解或对该map()函数的使用进行矢量化处理,因为它们会输出一个列表,这是对来自输入列表的独立输入运行相同功能的结果吗?

凭着我的敏锐理解,似乎map()从理论上讲,无论何时我使用,我都应该能够创建一个代表该功能的指令集。那么输入中的每个元素只需通过已编译的同一函数运行即可。设计一种工具的技术挑战是什么,该工具会simd_map(func, iterable)尝试func“及时” 编译,然后从iterable处理器中提取批输入并利用处理器的simd功能来运行这些批处理func()

谢谢!

python parallel-processing simd vectorization python-multiprocessing

1
推荐指数
1
解决办法
78
查看次数