Skip to content

Build with --no-aocldlp fails to link: missing W4A8 stubs #28

Description

@lwandrebeck

Summary

A build configured --no-aocldlp fails to link: aocl_kernel_stub.cpp provides
no-op stubs for the AOCL-DLP entry points, but three W4A8 entry points were added
without corresponding stubs.

Missing symbols:

  • zendnnl::lowoha::matmul::cvt_s4_to_s8
  • zendnnl::lowoha::matmul::w4a8_populate_plain_s8_cache
  • zendnnl::lowoha::matmul::broadcast_w4a8_src_scale

Reproduce

Configure with --no-aocldlp and build. Verified on main at 70f4dbf: the link
fails with exactly those three undefined references.

undefined reference to `zendnnl::lowoha::matmul::broadcast_w4a8_src_scale(...)'
undefined reference to `zendnnl::lowoha::matmul::cvt_s4_to_s8(signed char const*, ...)'
undefined reference to `zendnnl::lowoha::matmul::w4a8_populate_plain_s8_cache(...)'

Why it matters beyond this one build flag

--no-aocldlp is the only way to build for hardware AOCL-DLP does not support,
and it is also the configuration that exposes a number of other defects. Because
the library cannot link at all, none of those are reachable or testable until
this is fixed — so this is worth treating as a prerequisite rather than a
standalone nuisance.

Suggested fix

Add the three stubs alongside the existing ones: two log and throw via
EXCEPTION_WITH_LOC, the third returns status_t::unimplemented.

Reference branch (applies to main, builds and links clean):
https://github.com/lwandrebeck/BullDNN/tree/upstream/no-aocldlp-link-w4a8-stubs

Environment

  • main @ 70f4dbf, configured --no-aocldlp
  • Reproduced on AMD PRO A10-8770E (Excavator) and Intel Xeon 6767P, GCC 13/15

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions