-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1443 from IntelPython/improve/function_arg_mangling
Add the mangled_args property to kernel_api types. 72a3167
- Loading branch information
1 parent
943b2a3
commit e8918b7
Showing
116 changed files
with
914 additions
and
445 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# Sphinx build info version 1 | ||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. | ||
config: fd05f27b09982a018355b52b5e35eb29 | ||
config: 71854506d2908971ad0730101f421e8e | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
79 changes: 79 additions & 0 deletions
79
dev/_sources/autoapi/numba_dpex/core/debuginfo/index.rst.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
|
||
|
||
:orphan: | ||
|
||
numba_dpex.core.debuginfo | ||
========================= | ||
|
||
.. py:module:: numba_dpex.core.debuginfo | ||
.. autoapi-nested-parse:: | ||
|
||
Implements a custom debug metadata generator class for numba-dpex kernels. | ||
|
||
|
||
|
||
|
||
|
||
Overview | ||
-------- | ||
.. list-table:: Classes | ||
:header-rows: 0 | ||
:widths: auto | ||
:class: summarytable | ||
|
||
* - :py:obj:`DIBuilder <numba_dpex.core.debuginfo.DIBuilder>` | ||
- Overrides Numba's default DIBuilder with numba-dpex-specific customizations. | ||
|
||
|
||
|
||
|
||
Classes | ||
------- | ||
|
||
.. py:class:: DIBuilder(module, filepath, cgctx, directives_only) | ||
Bases: :py:obj:`numba.core.debuginfo.DIBuilder` | ||
|
||
Overrides Numba's default DIBuilder with numba-dpex-specific customizations. | ||
|
||
|
||
.. rubric:: Overview | ||
|
||
|
||
.. list-table:: Methods | ||
:header-rows: 0 | ||
:widths: auto | ||
:class: summarytable | ||
|
||
* - :py:obj:`mark_subprogram <numba_dpex.core.debuginfo.DIBuilder.mark_subprogram>`\ (function, qualname, argnames, argtypes, line) | ||
- Sets DW_AT_name and DW_AT_linkagename tags for a kernel decorated function. | ||
|
||
|
||
.. rubric:: Members | ||
|
||
.. py:method:: mark_subprogram(function, qualname, argnames, argtypes, line) | ||
Sets DW_AT_name and DW_AT_linkagename tags for a kernel decorated function. | ||
|
||
Numba generates a unique name for every function it compiles, but in | ||
upstream Numba the unique name is not used as the "qualified" name of | ||
the function. The behavior leads to a bug discovered in Numba-dpex when | ||
a compiled function uses closure variables. | ||
Refer (https://github.com/IntelPython/numba-dpex/issues/898). | ||
To resolve the issue numba-dpex uses the unique_name as the qualified | ||
name. Refer to | ||
:class:`numba_dpex.core.passes.passes.QualNameDisambiguationLowering`. | ||
However, doing so breaks setting GDB breakpoints based on function | ||
name as the function name is no longer what is in the source, but what | ||
is the unique name generated by Numba. To fix it, numba-dpex uses a | ||
modified DISubprogram metadata generator. The name (DW_AT_name) tag is | ||
set to the base function name, discarding the unique qualifier and | ||
linkagename is set to an empty string. | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.