Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 我如何延迟不等式比较jax的汇编时间


我如何延迟不等式比较jax的汇编时间


为了延迟与JAX中编译时间的不平等比较,您可以使用涉及重写代码来利用JAX的符号操作的某些策略。以下是实现这一目标的一些方法:

1。使用`core.max_dim`和`core.min_dim`:而不是使用内置`max`max`或`min`函数''或`np.max`和`np.min',而是可以用core替换它们.max_dim`和`core.min_dim`。这些功能延迟了不等式比较,直到形状已知的汇编时间为止。例如,您可以编写`core.max_dim(d,0)`而不是`d> 0 else 0`。

2。重写条件:尝试使用`core.max_dim`和`core.min_dim`来重写条件。这种方法有助于延迟对不平等的评估,直到在编译时确定形状为止。

3。避免整数依赖性:依靠以下事实:符号维度可以视为大多数算术操作的整数。而不是`int(d) + 5`,写`d + 5`。这降低了对整数尺寸的依赖性,并允许更灵活的汇编。

4。指定符号约束:如果可能的话,请指定符号约束,以指导汇编过程中处理不平等的JAX。这可以通过延迟比较直至必要,从而有助于优化代码。

通过采用这些策略,您可以有效地延迟JAX中编译时间的不平等比较,这可以提高代码的效率和灵活性。

引用:
[1] https://inria.hal.science/hal-03431315v2/document
[2] https://docs.jax.dev/en/latest/jit-compilation.html
[3] https://github.com/jax-ml/jax/blob/main/changelog.md
[4] https://docs.jax.dev/en/latest/faq.html
[5] https://arxiv.org/abs/1204.1069
[6] https://github.com/google/jax/blob/main/jax/jax/experiention/jax2tf/readme.md
[7] https://arxiv.org/abs/1602.05281
[8] https://stackoverflow.com/questions/69070804/how-to-to-reduce-jax-jax-compile-time-when-when-using-using-for-loop