This PR adds the capability to slice a DeviceSlice, allowing portions of data that are already on the device to be reused.
Additionally, this PR removes the need for a HostSlice underlying type to implement a Size function and uses unsafe.Sizeof instead. This together with #407 will allow direct usage of gnark-crypto types with HostSlice without the need for converting to ICICLE types
Describe the changes
This PR adds the capability to slice a DeviceSlice, allowing portions of data that are already on the device to be reused.
Additionally, this PR removes the need for a HostSlice underlying type to implement a Size function and uses unsafe.Sizeof instead. This together with #407 will allow direct usage of gnark-crypto types with HostSlice without the need for converting to ICICLE types