Skip to content

Problem with implicit volume/area setting in set_endpoint() of copy parameters class #751

@eyalroz

Description

@eyalroz

Some of the 3D copy parameters: cuda::memory::copy_parameters_t<3> structure's set_endpoint() methods on those parameters check whether the volume or area is 0 - in which case they (re)set its value to the endpoint dimensions. This is problematic behavior,, because those volumne fields may be uninitialized; and this conditional "generosity" makes the function's behavior dependent on uninitialized data. It is, perhaps, better to not set this at all, and require explicit setting via a separate call; or, alternatively, to always set this, so that if a smaller extent is desired, it must be set after the endpoint has been (re)set.

... perhaps we should have versions of the set_endpoint() (and set_source(), set_destination()) functions with and without dimensions - and have the latter force the extent and pitch, and the former not touch it.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions