Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/NVlabs/GEM
/ functions
Functions
85 in github.com/NVlabs/GEM
⨍
Functions
85
◇
Types & classes
29
↓ 65 callers
Method
iter
(&self)
src/bin/cuda_test.rs:126
↓ 12 callers
Method
for_each_input
Enumerate all related aigpin inputs for this endpoint group. The enumerated inputs may have duplicates.
src/aig.rs:60
↓ 12 callers
Method
into_iter
(self)
src/bin/cuda_test.rs:95
↓ 11 callers
Method
get_endpoint_group
(&self, endpt_id: usize)
src/aig.rs:644
↓ 11 callers
Method
is_empty
(&self)
src/bin/cuda_test.rs:121
↓ 11 callers
Method
iter
(&self)
src/bin/flatten_test.rs:382
↓ 9 callers
Method
add_and_gate
(&mut self, a: usize, b: usize)
src/aig.rs:156
↓ 8 callers
Method
topo_traverse_generic
( &self, endpoints: Option<&Vec<usize>>, is_primary_input: Option<&IndexSet<usize>>,
src/aig.rs:603
↓ 7 callers
Method
num_endpoint_groups
(&self)
src/aig.rs:640
↓ 6 callers
Function
build_staged_aigs
Given the level split points, return a list of split stages. For example, given [10, 20], will return a list like this: [(0, 10, stage0_10), (10, 20,
src/staging.rs:188
↓ 6 callers
Function
dfs_topo
(netlistdb: &NetlistDB, topo_vis: &mut Vec<bool>, topo_instack: &mut Vec<bool>, topo: &mut Vec<usize>, pinid:
src/bin/naive_sim.rs:291
↓ 6 callers
Method
query_permute_with_pin_iv
returns permutation id, invert bit, and setzero bit
src/flatten.rs:295
↓ 5 callers
Method
add_aigpin
(&mut self, driver: DriverType)
src/aig.rs:150
↓ 5 callers
Method
place_sram_duplicate
places a sram_duplicate bit.
src/flatten.rs:304
↓ 5 callers
Function
set_bit_in_u32
(v: &mut u32, pos: u32, bit: u8)
src/flatten.rs:219
↓ 4 callers
Method
trace_clock_pin
given a clock pin, trace back to clock root and return its enable signal (with invert bit). if result is 0, that means the pin is dangled. if an erro
src/aig.rs:183
↓ 3 callers
Method
get_endpoint_group
Get the virtual endpoint group with an index. This mimics the interface given by a raw AIG.
src/staging.rs:35
↓ 3 callers
Method
get_or_place_output_with_activation
returns a final local position for a data output bit with given pin_iv and clken_iv. if is not already placed, we will place it as well as place the
src/flatten.rs:330
↓ 3 callers
Method
iter
(&self)
src/bin/naive_sim.rs:110
↓ 3 callers
Function
place_bit
( aig: &AIG, hier: &mut Vec<Vec<usize>>, hier_visited_nodes_count: &mut IndexMap<usize
src/pe.rs:99
↓ 3 callers
Method
place_clken_datainv
places a writeout bit's clock enable and data invert.
src/flatten.rs:313
↓ 2 callers
Function
compute_lvl1_necessary_nodes
compute the set of nodes that must be implemented in level 1 in addition to the current hierarchy. the necessary_level1 nodes can only come from leve
src/pe.rs:217
↓ 2 callers
Function
compute_reverse_level
compute the maximum number of steps needed from this node to reach an endpoint node. during this path, except the starting point, no node should alre
src/pe.rs:168
↓ 2 callers
Method
hash
(&self, state: &mut H)
src/bin/cuda_test.rs:101
↓ 2 callers
Method
is_empty
(&self)
src/bin/flatten_test.rs:377
↓ 2 callers
Method
num_endpoint_groups
Get the number of endpoint groups that should be fulfilled with this staged AIG. This mimics the interface given by a raw AIG.
src/staging.rs:28
↓ 2 callers
Function
process_partitions
Given an initial clustering solution of endpoints, generate and map a refined solution. The refined solution will have smaller number of partitions a
src/pe.rs:570
↓ 2 callers
Method
to_edges
(&self)
src/repcut.rs:182
↓ 1 callers
Function
build_flattened_script_v1
( aig: &AIG, stageds: &[&StagedAIG], parts_in_stages: &[&[Partition]], num_blocks: usize, inpu
src/flatten.rs:686
↓ 1 callers
Function
build_one_boomerang_stage
build a single boomerang stage given the current inputs and outputs.
src/pe.rs:60
↓ 1 callers
Method
build_script
( &self, aig: &AIG, part: &Partition, input_map: &IndexMap<usize, u32>, staged_io_map:
src/flatten.rs:467
↓ 1 callers
Method
dfs_netlistdb_build_aig
recursively add aig pins for netlistdb pins for sequential logics like DFF and RAM, 1. their netlist pin inputs are not patched, 2. their aig pin inp
src/aig.rs:288
↓ 1 callers
Function
find_top_scope
( items: &'i [ScopeItem], top_scope: &'_ str )
src/bin/flatten_test.rs:407
↓ 1 callers
Function
find_top_scope
( items: &'i [ScopeItem], top_scope: &'_ str )
src/bin/cuda_test.rs:151
↓ 1 callers
Function
find_top_scope
( items: &'i [ScopeItem], top_scope: &'_ str )
src/bin/naive_sim.rs:135
↓ 1 callers
Method
hash
(&self, state: &mut H)
src/bin/flatten_test.rs:357
↓ 1 callers
Function
hash_of
(x: &T)
src/bin/flatten_test.rs:59
↓ 1 callers
Method
init_afters_writeouts
( &mut self, aig: &AIG, staged: &StagedAIG, part: &Partition )
src/flatten.rs:229
↓ 1 callers
Method
into_iter
(self)
src/bin/flatten_test.rs:351
↓ 1 callers
Method
into_iter
(self)
src/bin/naive_sim.rs:79
↓ 1 callers
Method
is_empty
(&self)
src/bin/naive_sim.rs:105
↓ 1 callers
Method
make_inputs_outputs
( &mut self, aig: &AIG, staged: &StagedAIG, part: &Partition, input_ma
src/flatten.rs:371
↓ 1 callers
Function
map_global_read_to_rounds
( inputs_taken: &BTreeMap<u32, u32> )
src/flatten.rs:110
↓ 1 callers
Function
match_scope_path
Try to match one component in a scope. If succeed, returns the remaining scope (can be None itself indicating all paths matched). If fails, return Non
src/bin/flatten_test.rs:391
↓ 1 callers
Function
match_scope_path
Try to match one component in a scope. If succeed, returns the remaining scope (can be None itself indicating all paths matched). If fails, return Non
src/bin/cuda_test.rs:135
↓ 1 callers
Function
match_scope_path
Try to match one component in a scope. If succeed, returns the remaining scope (can be None itself indicating all paths matched). If fails, return Non
src/bin/naive_sim.rs:119
↓ 1 callers
Method
num_vertices
Make an edge list. (weight, node indices)
src/repcut.rs:178
↓ 1 callers
Method
partition
Run mt-kahypar to partition this hypergraph.
src/repcut.rs:215
↓ 1 callers
Method
popcount
(&self)
src/repcut.rs:44
↓ 1 callers
Function
process_partitions_from_hgr_parts_file
Read a cluster solution from hgr.part.xx file. Then call [process_partitions].
src/pe.rs:706
↓ 1 callers
Function
purge_bit
( aig: &AIG, hier: &mut Vec<Vec<usize>>, hier_visited_nodes_count: &mut IndexMap<usize
src/pe.rs:132
↓ 1 callers
Function
run_par
Call builtin partitioner.
src/bin/cut_map_interactive.rs:19
↓ 1 callers
Function
simulate_block_v1
CPU prototype partition executor for script version 1.
src/bin/flatten_test.rs:66
↓ 1 callers
Function
simulate_block_v1
CPU prototype partition executor for script version 1.
src/bin/cuda_test.rs:170
↓ 1 callers
Method
to_endpoint_subset
build a staged AIG by horizontal splitting given a subset of endpoints. return built StagedAIG. the endpoints are given as a slice of endpoint group
src/staging.rs:63
Method
build_one
build one partition given a set of endpoints to realize. if the resource is overflowed, None will be returned. see [Partition] for resource constrain
src/pe.rs:508
Method
default
()
src/repcut.rs:25
Method
dfs_topo
(aig: &AIG, vis: &mut IndexSet<usize>, ret: &mut Vec<usize>, is_primary_input: Option<&IndexSet<usize>>, u: us
src/aig.rs:610
Method
direction_of
( &self, macro_name: &CompactString, pin_name: &CompactString, pin_idx: Option<isize>
src/aigpdk.rs:25
Method
empty
()
src/bin/flatten_test.rs:372
Method
empty
()
src/bin/cuda_test.rs:116
Method
empty
()
src/bin/naive_sim.rs:100
Method
fmt
(&self, f: &mut fmt::Formatter<'_>)
src/repcut.rs:256
Method
from
build a flattened script. `init_parts` give the partitions to flatten. it is better sorted in advance in descending order of #layers for better duty
src/flatten.rs:862
Method
from_full_aig
build a staged AIG that consists of all levels.
src/staging.rs:45
Method
from_netlistdb
(netlistdb: &NetlistDB)
src/aig.rs:441
Method
from_split
build a staged AIG by vertical splitting at the given level id. return built StagedAIG. the active middle nodes at split can be obtained from the Sta
src/staging.rs:96
Method
from_staged_aig
(aig: &AIG, staged: &StagedAIG)
src/repcut.rs:57
Method
hash
(&self, state: &mut H)
src/bin/naive_sim.rs:85
Function
main
()
build.rs:5
Function
main
()
src/bin/cut_map_interactive.rs:64
Function
main
()
src/bin/flatten_test.rs:425
Function
main
()
src/bin/cuda_test.rs:431
Function
main
()
src/bin/naive_sim.rs:153
Function
main
()
src/bin/boomerang_test.rs:38
Function
main
()
src/bin/cuda_dummy_test.rs:44
Function
main
()
src/bin/level_test.rs:22
Function
main
()
src/bin/repcut_test.rs:31
Method
next
(&mut self)
src/bin/flatten_test.rs:335
Method
next
(&mut self)
src/bin/cuda_test.rs:79
Method
next
(&mut self)
src/bin/naive_sim.rs:63
Method
single
(cur: CompactString)
src/bin/flatten_test.rs:367
Method
single
(cur: CompactString)
src/bin/cuda_test.rs:111
Method
single
(cur: CompactString)
src/bin/naive_sim.rs:95
Method
width_of
( &self, macro_name: &CompactString, pin_name: &CompactString )
src/aigpdk.rs:72