OpenROAD icon indicating copy to clipboard operation
OpenROAD copied to clipboard

[WIP] Use pocketfft for Nesterov solver

Open mkurc-ant opened this issue 1 year ago • 4 comments

This PR is intended to replace the FFT library used in ePlace Nesterov solver with pocketfft. Preliminary tests have shown that the library is faster.

Runtime measurements of the 3_3_place_gp stage with stock FFT and pocketff on an Intel(R) i7-8700 @ 3.20GHz CPU:

stock FFT lib stage runtime [s] pocketfft stage runtime [s]
554 550
553 545
554 540
546 539
544 542
average
550.2 543.2

The improvement is expected to increase as soon as dsct and dcst functions are replaced which is a work in progress.

mkurc-ant avatar Jan 24 '24 11:01 mkurc-ant

It is helpful to state on what design you made these measurements.

maliberty avatar Jan 24 '24 13:01 maliberty

Sorry, I forgot to mention. I've been testing on BlackParrot from OpenROAD-flow-scripts

mkurc-ant avatar Jan 24 '24 13:01 mkurc-ant

Hmm. I can see regression tests failing. I need to revisit my changes.

mkurc-ant avatar Jan 29 '24 08:01 mkurc-ant

Are you still working on this or should it be closed?

maliberty avatar May 21 '24 21:05 maliberty

@maliberty Hi. I think we can close it for now. I encountered issues with data layout used in pocketfft which required some conversion that ate up all performance gain.

mkurc-ant avatar May 22 '24 07:05 mkurc-ant