Skip to content

Latest commit

 

History

History
31 lines (16 loc) · 2.28 KB

README.md

File metadata and controls

31 lines (16 loc) · 2.28 KB

Benchmarking

In order to evaluate the performance of the jaxadi library vs cusadi we have tried to reproduce the benchmarks from the cusadi library first and faced some issues with the proper cuda installation.

meme

Adding the complexity of setup of benchmarks of cusadi we have copied and modified the benchmarks to be able to run them in the colab environment side by side (CUDA vs Jax).

Due limitations we cover only the functions with less than 1e3 operations. All of them are located in the data directory.

One may run the benchmarks in the colab environment and get the cusadi results and jaxadi results for comparison.

Overview

This analysis compares the performance of two computational tools, Jaxadi and Cusadi, using a range of batch sizes for different operations. The tools are evaluated based on average computation times and their relative speedup across various workloads.

1e1

1e2

Speedup

Key Findings

  • Jaxadi's Consistent Advantage: Across all tested scenarios, Jaxadi consistently shows better performance than Cusadi. This is evident from the lower average computation times for Jaxadi, particularly as the workload increases.

  • Scalability Differences: As batch sizes grow, the gap between the two tools becomes more pronounced. Cusadi's computation time increases rapidly with larger batch sizes, especially beyond (2^{12}). In contrast, Jaxadi maintains a more stable performance with a much slower increase in computation time, indicating better batch scalability.

Conclusion

Overall, Jaxadi offers a clear performance advantage over Cusadi, particularly for small functions which can be translated propely.