zeroasiccorp / switchboard

Communication framework for RTL simulation and emulation.
https://zeroasiccorp.github.io/switchboard/
Apache License 2.0
255 stars 20 forks source link

Update for NumPy 2.0 #244

Closed sgherbst closed 3 months ago

sgherbst commented 3 months ago

This PR fixes an issue that came about with the recent release of NumPy 2.0. There were a few places where np.array() was used with copy=False, and that started causing exceptions because NumPy could not avoid making a copy.

To solve this, I simply removed copy=False. The performance impact should be low, because the copy=False option only came into play when writing NumPy integers (not arrays) as a UMI or AXI/AXI-Lite payload. Worst case, a few extra bytes will have to be copied for write() and atomic() operations, which should not be a bottleneck. In fact, it's possible that those bytes were already being copied and not throwing an exception under NumPy 1.0 behavior.