<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nvdebug.git, branch archive/saman63-wip</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvdebug.git/'/>
<entry>
<title>Rework LCE&lt;-&gt;PCE and GRCE-&gt;LCE configuration printing API</title>
<updated>2024-04-08T18:02:07+00:00</updated>
<author>
<name>Joshua Bakita</name>
<email>bakitajoshua@gmail.com</email>
</author>
<published>2024-04-08T17:33:28+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvdebug.git/commit/?id=ac60151ea0a4a1f3882fde3c486af870029b7977'/>
<id>ac60151ea0a4a1f3882fde3c486af870029b7977</id>
<content type='text'>
Rather than up to dozens of individual files exposing part of each
copy engine's configuration, have one file which exposes a unified
view of the full topology. Example new output on RTX 2080 Ti:

$ cat /proc/gpu0/copy_topology
GRCE0 -&gt; LCE04
GRCE1 -&gt; LCE03
LCE02 -&gt; PCE02
LCE03 -&gt; PCE03
LCE04 -&gt; PCE01

Old output:
$ tail -n 1 /proc/gpu0/lce_for_pce*
==&gt; /proc/gpu0/lce_for_pce0 &lt;==
0xf
==&gt; /proc/gpu0/lce_for_pce1 &lt;==
0x4
==&gt; /proc/gpu0/lce_for_pce2 &lt;==
0x2
==&gt; /proc/gpu0/lce_for_pce3 &lt;==
0x3

$ tail -n 1 /proc/gpu1/shared_lce_for_grce*
==&gt; /proc/gpu0/shared_lce_for_grce0 &lt;==
0x4
==&gt; /proc/gpu0/shared_lce_for_grce1 &lt;==
0x3

Specifically:
- Add `copy_topology` API
- Remove `shared_lce_for_grce#` and `lce_for_pce#` APIs
- Move logic from `nvdebug_entry.c` to `copy_topology_procfs.c`
- Do not print PCE or Shared LCE configuration if flagged absent
- Refer to LCE0 and LCE1 as GRCE0 and GRCE1
- Print by LCE ID, which is move helpful when attempting to trace
  how a given copy runlist maps to a physical copy engine.
- Document two errata with CE registers

Tested working on Pascal Integrated, Pascal, Volta Integrated
Volta, Turing, and Ampere Integrated on Linux 4.9 through 5.10.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rather than up to dozens of individual files exposing part of each
copy engine's configuration, have one file which exposes a unified
view of the full topology. Example new output on RTX 2080 Ti:

$ cat /proc/gpu0/copy_topology
GRCE0 -&gt; LCE04
GRCE1 -&gt; LCE03
LCE02 -&gt; PCE02
LCE03 -&gt; PCE03
LCE04 -&gt; PCE01

Old output:
$ tail -n 1 /proc/gpu0/lce_for_pce*
==&gt; /proc/gpu0/lce_for_pce0 &lt;==
0xf
==&gt; /proc/gpu0/lce_for_pce1 &lt;==
0x4
==&gt; /proc/gpu0/lce_for_pce2 &lt;==
0x2
==&gt; /proc/gpu0/lce_for_pce3 &lt;==
0x3

$ tail -n 1 /proc/gpu1/shared_lce_for_grce*
==&gt; /proc/gpu0/shared_lce_for_grce0 &lt;==
0x4
==&gt; /proc/gpu0/shared_lce_for_grce1 &lt;==
0x3

Specifically:
- Add `copy_topology` API
- Remove `shared_lce_for_grce#` and `lce_for_pce#` APIs
- Move logic from `nvdebug_entry.c` to `copy_topology_procfs.c`
- Do not print PCE or Shared LCE configuration if flagged absent
- Refer to LCE0 and LCE1 as GRCE0 and GRCE1
- Print by LCE ID, which is move helpful when attempting to trace
  how a given copy runlist maps to a physical copy engine.
- Document two errata with CE registers

Tested working on Pascal Integrated, Pascal, Volta Integrated
Volta, Turing, and Ampere Integrated on Linux 4.9 through 5.10.
</pre>
</div>
</content>
</entry>
<entry>
<title>Expand support for printing LCE&lt;-&gt;PCE and GRCE-&gt;LCE configuration</title>
<updated>2023-11-08T20:01:24+00:00</updated>
<author>
<name>Joshua J Bakita</name>
<email>jbakita@rtsrv.cs.unc.edu</email>
</author>
<published>2023-11-08T19:41:47+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvdebug.git/commit/?id=3aab3c220f3f0bcc3d3d58d0daf6fd6acf1819e2'/>
<id>3aab3c220f3f0bcc3d3d58d0daf6fd6acf1819e2</id>
<content type='text'>
Tested working on Pascal, Volta, Volta Integrated, Turing, Ampere,
and Ada.

Also clean up minor spacing issues, an errantly added file
(nvdebug.mod), and fix some inconsistencies with upstream.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tested working on Pascal, Volta, Volta Integrated, Turing, Ampere,
and Ada.

Also clean up minor spacing issues, an errantly added file
(nvdebug.mod), and fix some inconsistencies with upstream.
</pre>
</div>
</content>
</entry>
<entry>
<title>Created new read function in device_info for GRCE mappings and Pascal LCE mappings</title>
<updated>2023-10-29T19:45:33+00:00</updated>
<author>
<name>Saman Sahebi</name>
<email>saman63@cs.unc.edu</email>
</author>
<published>2023-09-14T17:50:48+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvdebug.git/commit/?id=b9d8f6a83a8e5fec38e9e20a54ee13838936fa10'/>
<id>b9d8f6a83a8e5fec38e9e20a54ee13838936fa10</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>patched issues with GPU compatability for CE_MAP</title>
<updated>2023-10-29T19:45:32+00:00</updated>
<author>
<name>Saman Sahebi</name>
<email>saman63@cs.unc.edu</email>
</author>
<published>2023-08-03T22:00:31+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvdebug.git/commit/?id=bebffaf223e975ab8f6fcf5fb6bd6de814fb614c'/>
<id>bebffaf223e975ab8f6fcf5fb6bd6de814fb614c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>implemented GRCE to PCE mapping</title>
<updated>2023-10-29T19:45:32+00:00</updated>
<author>
<name>Saman Sahebi</name>
<email>saman63@cs.unc.edu</email>
</author>
<published>2023-07-31T18:03:34+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvdebug.git/commit/?id=7fda166c68c58887a90521911228ef734c7d4e4f'/>
<id>7fda166c68c58887a90521911228ef734c7d4e4f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Updated for loop formatting  and fixed a casting error</title>
<updated>2023-10-29T19:45:32+00:00</updated>
<author>
<name>Saman Sahebi</name>
<email>saman63@cs.unc.edu</email>
</author>
<published>2023-07-20T18:12:51+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvdebug.git/commit/?id=22ce117a72c557e01950fd97e1380a4d0658ea43'/>
<id>22ce117a72c557e01950fd97e1380a4d0658ea43</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>added offsets for lce mapping in nvdebug.h and code to read lce for each pce in nvdebug_entry.c</title>
<updated>2023-10-29T19:45:32+00:00</updated>
<author>
<name>Saman Sahebi</name>
<email>saman63@cs.unc.edu</email>
</author>
<published>2023-07-20T01:58:37+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvdebug.git/commit/?id=923fdb37c54598391b54355de0fcd6ac35e5a221'/>
<id>923fdb37c54598391b54355de0fcd6ac35e5a221</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add nvdebug.mod to .gitignore</title>
<updated>2023-10-29T19:43:28+00:00</updated>
<author>
<name>Joshua Bakita</name>
<email>bakitajoshua@gmail.com</email>
</author>
<published>2023-10-29T19:43:28+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvdebug.git/commit/?id=d533fdd9eed3147da77fb4183571e2b060e01471'/>
<id>d533fdd9eed3147da77fb4183571e2b060e01471</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support printing device info on Ampere+ GPUs. By Benjamin Hadad IV</title>
<updated>2023-10-29T19:43:16+00:00</updated>
<author>
<name>Joshua Bakita</name>
<email>bakitajoshua@gmail.com</email>
</author>
<published>2023-10-29T18:43:40+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvdebug.git/commit/?id=8da37f4bbb30027a6efa289bd97d98b2acb5c160'/>
<id>8da37f4bbb30027a6efa289bd97d98b2acb5c160</id>
<content type='text'>
commit c3d6f2c852eb046e9d4f4f1e6527b52c746b2693
Author: Joshua Bakita &lt;bakitajoshua@gmail.com&gt;
Date:   Sun Oct 29 14:37:51 2023 -0400

    Print Ampere+ device_info fields with correct offsets/widths

    Everything now has been checked against how nvgpu handles it

commit b70849d1ce67a58f9f69b37dc62122f789f4cdf7
Author: Joshua Bakita &lt;jbakita@cs.unc.edu&gt;
Date:   Wed Sep 20 14:27:38 2023 -0400

    Rearrange, fix an off-by-one error, and remove an unused define

    The code in nvdebug.h has been rearranged to enable an easier merge
    against the jbakita-wip branch.

commit 51f808e092846a60ea6c88ea3a1d2e349c92977b
Author: Joshua Bakita &lt;jbakita@cs.unc.edu&gt;
Date:   Wed Sep 20 13:09:17 2023 -0400

    Bug fixes and cleanup for new device_info logic

    - Update comments to match new structure
    - Make show() function idempotent
    - Skip empty table entries without aborting
    - Include names for new engine types
    - Add warning log messages for skipped table entries
    - Remove non-functional runlist file creation logic for Ampere+

commit 1d7adc3be1aef5ac9c144bb24008fd8cc5d688a5
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Sat Aug 19 12:47:18 2023 -0400

    Debugging changes made to restore functionality following refactoring.
     - Debugged data display errors.
     - Debugged crash bugs.
     - Debugged memory issue.

commit 9e6cc03cdf736fbd817ed53fa9a7f506bc91a244
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Wed Aug 16 22:00:20 2023 -0400

    A variety of changes have been made as part of the code review.
     - Functions have been consolidated.
     - Code was clarified and tidied up overall.
     - Unnecessary elements were removed.

commit 845960fc1b15995fdbd6d61c384567652a150bc4
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Fri Jul 28 11:39:28 2023 -0400

    Refactored various systems and debugged minor issues
     - Added device_info_iter
     - Merged functions in device_info_procfs.c
     - Separated device_info data structs by version in nvdebug.h
     - Fixed issue with device_info runlist ID data

commit 8a57aaeba41c43233c323d7e0fc8bf1a81ebc65e
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Fri Jul 21 11:32:51 2023 -0400

    I have updated the ptop_device_info_t comment in nvdebug.h.

commit 33c915f08f5dc63674b158ecc18897494256a6d0
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Wed Jul 19 13:02:52 2023 -0400

    Debugged device_info functionality
     - Fixed device_info crash bugs
     - Made further edits to display functionality
     - Refactored code to enhance readability

commit bfb4dcf0e78954c0163f3a06a5a088c4d1b437a8
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Thu Jul 13 12:13:17 2023 -0400

    This commit is to update the repo for display during a meeting.
    - Added an Ampere version of the device info data.
    - Added Ampere versions of auxillary functions.
    - Modified display functions to accommodate Ampere data.
    - Made other various small modifications.

commit 068e7f4e7208d6c9250ad72208e0b36fd9fdf2f6
Merge: 3725b15 073e897
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Mon Jul 10 12:39:12 2023 -0400

    Merge branch 'jbakita-wip' of ssh://rtsrv.cs.unc.edu/public/nvdebug into wip
    I am merging Mr. Bakita's changes (046d7d2) into this repository.

commit 3725b15d5da3e06ef202045d710aa5f15eb72fcc
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Mon Jul 3 04:30:54 2023 -0400

    I modified nvdebug.h for Ampere.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c3d6f2c852eb046e9d4f4f1e6527b52c746b2693
Author: Joshua Bakita &lt;bakitajoshua@gmail.com&gt;
Date:   Sun Oct 29 14:37:51 2023 -0400

    Print Ampere+ device_info fields with correct offsets/widths

    Everything now has been checked against how nvgpu handles it

commit b70849d1ce67a58f9f69b37dc62122f789f4cdf7
Author: Joshua Bakita &lt;jbakita@cs.unc.edu&gt;
Date:   Wed Sep 20 14:27:38 2023 -0400

    Rearrange, fix an off-by-one error, and remove an unused define

    The code in nvdebug.h has been rearranged to enable an easier merge
    against the jbakita-wip branch.

commit 51f808e092846a60ea6c88ea3a1d2e349c92977b
Author: Joshua Bakita &lt;jbakita@cs.unc.edu&gt;
Date:   Wed Sep 20 13:09:17 2023 -0400

    Bug fixes and cleanup for new device_info logic

    - Update comments to match new structure
    - Make show() function idempotent
    - Skip empty table entries without aborting
    - Include names for new engine types
    - Add warning log messages for skipped table entries
    - Remove non-functional runlist file creation logic for Ampere+

commit 1d7adc3be1aef5ac9c144bb24008fd8cc5d688a5
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Sat Aug 19 12:47:18 2023 -0400

    Debugging changes made to restore functionality following refactoring.
     - Debugged data display errors.
     - Debugged crash bugs.
     - Debugged memory issue.

commit 9e6cc03cdf736fbd817ed53fa9a7f506bc91a244
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Wed Aug 16 22:00:20 2023 -0400

    A variety of changes have been made as part of the code review.
     - Functions have been consolidated.
     - Code was clarified and tidied up overall.
     - Unnecessary elements were removed.

commit 845960fc1b15995fdbd6d61c384567652a150bc4
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Fri Jul 28 11:39:28 2023 -0400

    Refactored various systems and debugged minor issues
     - Added device_info_iter
     - Merged functions in device_info_procfs.c
     - Separated device_info data structs by version in nvdebug.h
     - Fixed issue with device_info runlist ID data

commit 8a57aaeba41c43233c323d7e0fc8bf1a81ebc65e
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Fri Jul 21 11:32:51 2023 -0400

    I have updated the ptop_device_info_t comment in nvdebug.h.

commit 33c915f08f5dc63674b158ecc18897494256a6d0
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Wed Jul 19 13:02:52 2023 -0400

    Debugged device_info functionality
     - Fixed device_info crash bugs
     - Made further edits to display functionality
     - Refactored code to enhance readability

commit bfb4dcf0e78954c0163f3a06a5a088c4d1b437a8
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Thu Jul 13 12:13:17 2023 -0400

    This commit is to update the repo for display during a meeting.
    - Added an Ampere version of the device info data.
    - Added Ampere versions of auxillary functions.
    - Modified display functions to accommodate Ampere data.
    - Made other various small modifications.

commit 068e7f4e7208d6c9250ad72208e0b36fd9fdf2f6
Merge: 3725b15 073e897
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Mon Jul 10 12:39:12 2023 -0400

    Merge branch 'jbakita-wip' of ssh://rtsrv.cs.unc.edu/public/nvdebug into wip
    I am merging Mr. Bakita's changes (046d7d2) into this repository.

commit 3725b15d5da3e06ef202045d710aa5f15eb72fcc
Author: Benjamin Hadad IV &lt;bh4@unc.edu&gt;
Date:   Mon Jul 3 04:30:54 2023 -0400

    I modified nvdebug.h for Ampere.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rather than abort, print placeholders for missing runlist channels</title>
<updated>2023-10-29T17:45:28+00:00</updated>
<author>
<name>Joshua Bakita</name>
<email>bakitajoshua@gmail.com</email>
</author>
<published>2023-10-29T17:45:28+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvdebug.git/commit/?id=874aecaf06a96f5866f9bf31437a1ebd27c2f408'/>
<id>874aecaf06a96f5866f9bf31437a1ebd27c2f408</id>
<content type='text'>
Sometimes such "malformed" runlists appear on the TX2, yet they
seem to work fine, so support printing them in full.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sometimes such "malformed" runlists appear on the TX2, yet they
seem to work fine, so support printing them in full.
</pre>
</div>
</content>
</entry>
</feed>
