Skip to content

[SYCL][CUDA] Alignment issue with zero-sized local arguments #5682

Closed
@nmnobre

Description

@nmnobre

Describe the bug

The alignment strategy for local arguments introduced with PR #5113 does not take into account zero-sized local arguments. Since, in such circumstances, the requested alignment is also zero (see sycl/plugins/cuda/pi_cuda.hpp):

const size_t alignment = std::min(max_alignment, size);,

the program receives signal SIGFPE, Arithmetic exception at runtime at the following modulus test:

localOffset % alignment != 0.

This problem is similar to that reported in issue #1467. I confess I understand little about local arguments or why the application I'm using uses zero-sized local arguments. Please do feel free to disregard this issue if this is just incorrect behaviour by the application.

Environment:

  • OS: CentOS Linux release 8.5.2111
  • Target device and vendor: NVIDIA Quadro GV100
  • DPC++ version: ebb1281 and newer

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcudaCUDA back-endruntimeRuntime library related issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions