Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
tsoc
hg-misc-tools
Commits
0ca55744
Commit
0ca55744
authored
Mar 07, 2026
by
one
Browse files
[xcl-lens] Move instance members to class members
parent
3e48fc9b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
46 deletions
+47
-46
projects/xcl-lens/src/xcl_lens/parser/rccl.py
projects/xcl-lens/src/xcl_lens/parser/rccl.py
+47
-46
No files found.
projects/xcl-lens/src/xcl_lens/parser/rccl.py
View file @
0ca55744
import
re
from
typing
import
Final
import
pandas
as
pd
class
RcclLogParser
:
# Pattern -> output string or as-is
sys_patterns
:
Final
=
{
r
"kernel version"
:
None
,
r
"ROCr version"
:
None
,
r
"RCCL version"
:
None
,
r
"Librccl path"
:
None
,
r
"iommu"
:
None
,
r
"Dmabuf feature disabled"
:
"Dmabuf: disabled"
,
r
"Disabled GDRCopy"
:
"GDRCopy: disabled"
,
r
"Using network IB"
:
"NET/IB: enabled"
,
r
"NET/Plugin: Could not find: librccl-net.so"
:
"NET/Plugin: internal"
,
}
# Pattern -> column with strict validation
graph_info_fields
:
Final
=
{
r
"Pattern"
:
(
"Pattern"
,
r
"\d+"
),
r
"crossNic"
:
(
"crossNic"
,
r
"\d+"
),
r
"nChannels"
:
(
"nChannels"
,
r
"\d+"
),
r
"bw"
:
(
"bandwidth"
,
r
"[\d.]+/[\d.]+"
),
r
"type"
:
(
"type"
,
r
"[\w/]+"
),
r
"sameChannels"
:
(
"sameChannels"
,
r
"\d+"
),
}
# Pattern -> column with strict validation
cl_transfer_fields
:
Final
=
{
r
"protocol"
:
(
"protocol"
,
r
"Simple|LL|LL128"
),
r
"nbytes"
:
(
"nbytes"
,
r
"\d+"
),
r
"algorithm"
:
(
"algorithm"
,
r
"Tree|Ring"
),
r
"slicesteps"
:
(
"slicesteps"
,
r
"\d+"
),
r
"nchannels"
:
(
"nchannels"
,
r
"\d+"
),
r
"nloops"
:
(
"nloops"
,
r
"\d+"
),
r
"nsteps"
:
(
"nsteps"
,
r
"\d+"
),
r
"chunksize"
:
(
"chunksize"
,
r
"\d+"
),
}
# Pattern -> column with strict validation
p2p_fields
:
Final
=
{
r
"p2p : rank"
:
(
"local"
,
r
"\d+"
),
r
"send rank"
:
(
"send"
,
r
"\d+"
),
r
"recv rank"
:
(
"recv"
,
r
"\d+"
),
r
"p2pnChannelsPerPeer"
:
(
"p2pnChannelsPerPeer"
,
r
"\d+"
),
r
"p2pnChannels"
:
(
"p2pnChannels"
,
r
"\d+"
),
r
"nChannelsMax"
:
(
"nChannelsMax"
,
r
"\d+"
),
r
"protocol"
:
(
"protocol"
,
r
"Simple|LL|LL128"
),
}
def
__init__
(
self
,
verbose
=
False
,
hosts
=
None
,
ranks
=
None
):
# Deduplicated set of (host, rank, content) tuples
self
.
log_entries
:
set
[
tuple
[
str
,
int
,
str
]]
=
set
()
...
...
@@ -15,52 +62,6 @@ class RcclLogParser:
self
.
_hosts
=
hosts
if
hosts
is
not
None
else
[]
self
.
_ranks
=
[
int
(
r
)
for
r
in
ranks
]
if
ranks
is
not
None
else
[]
# Pattern -> output string or as-is
self
.
sys_patterns
=
{
r
"kernel version"
:
None
,
r
"ROCr version"
:
None
,
r
"RCCL version"
:
None
,
r
"Librccl path"
:
None
,
r
"iommu"
:
None
,
r
"Dmabuf feature disabled"
:
"Dmabuf: disabled"
,
r
"Disabled GDRCopy"
:
"GDRCopy: disabled"
,
r
"Using network IB"
:
"NET/IB: enabled"
,
r
"NET/Plugin: Could not find: librccl-net.so"
:
"NET/Plugin: internal"
,
}
# Pattern -> column with strict validation
self
.
graph_info_fields
=
{
r
"Pattern"
:
(
"Pattern"
,
r
"\d+"
),
r
"crossNic"
:
(
"crossNic"
,
r
"\d+"
),
r
"nChannels"
:
(
"nChannels"
,
r
"\d+"
),
r
"bw"
:
(
"bandwidth"
,
r
"[\d.]+/[\d.]+"
),
r
"type"
:
(
"type"
,
r
"[\w/]+"
),
r
"sameChannels"
:
(
"sameChannels"
,
r
"\d+"
),
}
# Pattern -> column with strict validation
self
.
cl_transfer_fields
=
{
r
"protocol"
:
(
"protocol"
,
r
"Simple|LL|LL128"
),
r
"nbytes"
:
(
"nbytes"
,
r
"\d+"
),
r
"algorithm"
:
(
"algorithm"
,
r
"Tree|Ring"
),
r
"slicesteps"
:
(
"slicesteps"
,
r
"\d+"
),
r
"nchannels"
:
(
"nchannels"
,
r
"\d+"
),
r
"nloops"
:
(
"nloops"
,
r
"\d+"
),
r
"nsteps"
:
(
"nsteps"
,
r
"\d+"
),
r
"chunksize"
:
(
"chunksize"
,
r
"\d+"
),
}
# Pattern -> column with strict validation
self
.
p2p_fields
=
{
r
"p2p : rank"
:
(
"local"
,
r
"\d+"
),
r
"send rank"
:
(
"send"
,
r
"\d+"
),
r
"recv rank"
:
(
"recv"
,
r
"\d+"
),
r
"p2pnChannelsPerPeer"
:
(
"p2pnChannelsPerPeer"
,
r
"\d+"
),
r
"p2pnChannels"
:
(
"p2pnChannels"
,
r
"\d+"
),
r
"nChannelsMax"
:
(
"nChannelsMax"
,
r
"\d+"
),
r
"protocol"
:
(
"protocol"
,
r
"Simple|LL|LL128"
),
}
def
collect
(
self
,
line
):
self
.
_preprocess_line
(
line
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment