有没有将机器学习应用于提升代码性能的例子?

我看到了一场由Facebook的Keith Adams所做的演讲,比较了机器学习技术与在现实世界中调整代码以提高性能的方法。有没有这种自动化技术在实际项目中应用的例子?我

我知道某些编译器中的基于配置文件的优化以及一些JIT编译器用来提高性能的技术,但我考虑的是更根本的提高代码性能的方法,这可能需要更改代码本身而不是代码生成。比如:

  1. 在特定网络应用程序中选择最佳缓冲区大小,或为特定应用程序选择合适的堆栈大小。
  2. 在多线程应用程序中选择结构布局,以提高本地缓存性能,同时减少虚假共享。
  3. 为特定算法选择完全不同的数据结构。

我读了一篇关于Halide的论文,这是一个使用遗传算法自动调整图像处理管道以提高性能的图像处理框架。像这样的例子或任何指向研究的指针都会很有用。


回答:

FFTW是一个广泛使用的软件包,它使用OCaml生成优化的C代码。这篇论文有更多关于这个过程的细节:http://vuduc.org/pubs/vuduc2000-fftw-dct.pdf

你也可以看看Acovea,这是一个用于优化编译器标志的遗传算法:http://stderr.org/doc/acovea/html/index.html

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注