Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/UCLA-VAST/AutoSA
/ functions
Functions
546 in github.com/UCLA-VAST/AutoSA
⨍
Functions
546
◇
Types & classes
201
↓ 1 callers
Function
ppcg_ht_phase_shift_space_point
Given a pointer "node" to (a copy of) the original child node * in the input pattern, adjust its partial schedule such that * it starts at zero with
hybrid.c:1922
↓ 1 callers
Function
ppcg_ht_tiling_copy
Return a new reference to "tiling". */
hybrid.c:300
↓ 1 callers
Function
ppcg_ht_tiling_get_ctx
Return the isl_ctx to which "tiling" belongs. */
hybrid.c:312
↓ 1 callers
Function
ppcg_ht_tiling_set_project_ts
Set the project_ts field of "tiling". * * This field projects the space of the input schedule to the ts-space. * It is equal to [P[t] -> C[s_0, ...
hybrid.c:846
↓ 1 callers
Function
ppcg_kernel_create_local_arrays
Create the array of gpu_local_array_info structures "array" * inside "kernel". The number of elements in this array is * the same as the number of
gpu.c:1370
↓ 1 callers
Function
ppcg_macros_free
Free the memory allocated by a struct ppcg_macros. */
print.c:121
↓ 1 callers
Function
ppcg_multi_val_from_int
Construct an isl_multi_val living in "space" with all values equal to "val". */
util.c:19
↓ 1 callers
Function
ppcg_print_declaration
Print a declaration for array "array" to "p", using "build" * to simplify any size expressions. * * The size is computed from the extent of the arr
print.c:403
↓ 1 callers
Function
ppcg_print_hidden_declarations
Print declarations for the arrays in "scop" that are declared, * but not exposed to the code after the scop. */
print.c:460
↓ 1 callers
Function
ppcg_scop_from_pet_scop
Extract a ppcg_scop from a pet_scop. * * The constructed ppcg_scop refers to elements from the pet_scop * so the pet_scop should not be freed befor
ppcg.c:876
↓ 1 callers
Function
ppcg_set_macros
Set the macro definitions for isl_ast_op_min and isl_ast_op_max * to "min" and "max" and store them in "p". * * In particular, create a ppcg_macros
print.c:147
↓ 1 callers
Function
ppcg_stmt_free
cpu.c:47
↓ 1 callers
Function
ppcg_version
version.c:3
↓ 1 callers
Function
print_cpu
Generate CPU code for the scop "ps" and print the corresponding C code * to "p", including variable declarations. */
cpu.c:799
↓ 1 callers
Function
print_cuda_macros
cuda.c:20
↓ 1 callers
Function
print_device_node
Print a statement for copying an array to or from the device, * or for initializing or clearing the device. * The statement identifier of a copying
opencl.c:1096
↓ 1 callers
Function
print_device_node
Print a statement for copying an array to or from the device, * or for initializing or clearing the device. * The statement identifier of a copying
cuda.c:548
↓ 1 callers
Function
print_for_with_openmp
Print a for loop node as an openmp parallel loop. * * To print an openmp parallel loop we print a normal for loop, but add * "#pragma openmp parall
cpu.c:337
↓ 1 callers
Function
print_grid
Print the grid definition. */
cuda.c:229
↓ 1 callers
Function
print_grid_size
Print the effective grid size as a list of the sizes in each * dimension, from innermost to outermost. */
cuda.c:200
↓ 1 callers
Function
print_host_code
cuda.c:663
↓ 1 callers
Function
print_indent
cuda.c:356
↓ 1 callers
Function
print_kernel
cuda.c:480
↓ 1 callers
Function
print_kernel_headers
Print the header of the given kernel to both gen->cuda.kernel_h * and gen->cuda.kernel_c. */
cuda.c:337
↓ 1 callers
Function
print_kernel_iterators
cuda.c:389
↓ 1 callers
Function
print_kernel_var
cuda.c:403
↓ 1 callers
Function
print_kernel_vars
cuda.c:429
↓ 1 callers
Function
print_max
Print the currently active macro definition for ppcg_max. */
print.c:203
↓ 1 callers
Function
print_min
Print the currently active macro definition for ppcg_min. */
print.c:215
↓ 1 callers
Function
print_non_linearized_declaration_argument
Print the declaration of a non-linearized array argument. */
gpu_print.c:67
↓ 1 callers
Function
print_opencl_kernel_domain
Print the body of a statement from the input program, * for use in OpenCL code. * * Before calling ppcg_kernel_print_domain to print the actual sta
opencl.c:798
↓ 1 callers
Function
print_original
Should we print the original code? * That is, does "scop" involve any data dependent conditions or * nested expressions that cannot be handled by pe
ppcg.c:945
↓ 1 callers
Function
print_reverse_list
cuda.c:181
↓ 1 callers
Function
print_scop
Code generate the scop 'scop' using "schedule" * and print the corresponding C code to 'p'. */
cpu.c:541
↓ 1 callers
Function
print_sync
Print a sync statement. */
cuda.c:442
↓ 1 callers
Function
printed_before
Has the macro definition corresponding to "note_name" been printed * to "p" before? * That is, does "p" have an associated "note_name" note? */
print.c:48
↓ 1 callers
Function
project_out_tags
Given a union of "tagged" access relations of the form * * [S_i[...] -> R_j[]] -> A_k[...] * * project out the "tags" (R_j[]). * That is, return
ppcg.c:328
↓ 1 callers
Function
read_block_sizes
Extract user specified "block" sizes from the "sizes" command line option, * after filling in some potentially useful defaults. */
gpu.c:627
↓ 1 callers
Function
read_grid_and_block_sizes
Extract user specified grid and block sizes from the gen->sizes * command line option after filling in some potentially useful defaults. * Store the
gpu.c:682
↓ 1 callers
Function
read_grid_sizes
Extract user specified "grid" sizes from the "sizes" command line option, * after filling in some potentially useful defaults. */
gpu.c:656
↓ 1 callers
Function
release_device_array
Free the device array corresponding to "array" */
opencl.c:321
↓ 1 callers
Function
remove_group_validity
Remove the validity schedule constraints from "sc" between * statement instances that get contracted to the same group instance * by the contraction
grouping.c:470
↓ 1 callers
Function
remove_independences
Remove independence from the order constraints "order" on array "array". * Since the pairs of iterations in the filter relation of an independence *
gpu.c:253
↓ 1 callers
Function
remove_independences_from_tagged_flow
Remove independence from the tagged flow dependences. * Since the user has guaranteed that source and sink of an independence * can be executed in a
ppcg.c:644
↓ 1 callers
Function
remove_local_accesses_group
Given an access relation "access" from "group", remove those reads * if ("read" is 1) or writes (if "read" is 0) that are only needed to * communica
gpu.c:2340
↓ 1 callers
Function
remove_strides
Given an array access "access", remove the strides based * on the information in tile->bound[i]->stride and tile->bound[i]->shift. * * In particula
gpu_group.c:179
↓ 1 callers
Function
report_grouping
Report that the given grouping is used during scheduling * (if the verbose options is set). */
grouping.c:678
↓ 1 callers
Function
report_no_reuse_and_coalesced
Report that the array reference group with the given access relation * is not mapped to shared memory in the given kernel because * it does not exhi
gpu_group.c:786
↓ 1 callers
Function
save_schedule
Save the schedule "schedule" to a file called "filename". * The schedule is printed in block style. */
schedule.c:105
↓ 1 callers
Function
scale_band
Scale a band node that may have been split by split_band. * "sizes" are the scaling factors for the original node. * "node" either points to the ori
gpu.c:2934
↓ 1 callers
Function
schedule_from_domain_and_list
Construct a schedule with "domain" as domain, that executes * the elements of "list" in order (as a sequence). */
grouping.c:354
↓ 1 callers
Function
set_depth
Determine the number of schedule dimensions that affect the offset of the * shared tile and store the minimum of the private and shared tile depth *
gpu_group.c:620
↓ 1 callers
Function
set_intersect_str
Intersect "set" with the set described by "str", taking the NULL * string to represent the universal set. */
ppcg.c:821
↓ 1 callers
Function
set_isolate_loop_type
Copy the AST loop types of the non-isolated part to those * of the isolated part. */
hybrid.c:1792
↓ 1 callers
Function
set_opencl_macros
Set the macro definitions for ppcg_min and ppcg_max to * OpenCL specific versions. */
opencl.c:900
↓ 1 callers
Function
set_universally_zero
Replace "pa" by the zero function defined over the universe domain * in the space of "pa". */
gpu.c:1297
↓ 1 callers
Function
shared_access
Map the domain of "access" to the outer data->shared_depth * schedule dimensions. When data->shared_depth is equal to * data->thread_depth, this re
gpu_group.c:838
↓ 1 callers
Function
shift_phase
Pullback "phase" over phase->tiling->shift_phase, which shifts * phase 0 to phase 1. The pullback therefore takes a phase 1 * description and turns
hybrid.c:1454
↓ 1 callers
Function
smaller_tile
Is the size of the tile specified by "tile" smaller than the sum of * the sizes of the tiles specified by "tile1" and "tile2"? */
gpu_group.c:1149
↓ 1 callers
Function
strided_tile
Given a description of an array tile "tile" and the "space" * * { D -> A } * * where D represents the first tile->depth schedule dimensions * and
gpu_group.c:1565
↓ 1 callers
Function
tile
Tile the band node "node" with tile sizes "sizes" and * mark all members of the resulting tile node as "atomic". */
cpu.c:603
↓ 1 callers
Function
tile_band
Tile "band" with tile size specified by "sizes". * * Since the tile loops will be mapped to block ids, we forcibly * turn off tile loop scaling. W
gpu.c:2813
↓ 1 callers
Function
tile_outer
Given an index expression "index" of the form * * L -> F(A), * * with F(A) either A or some subfield of A and L the AST loop iterators, * and a t
gpu.c:1543
↓ 1 callers
Function
tile_set_depth
Determine the number of schedule dimensions that affect the offset of the * shared or private tile "tile" and store the result in tile->depth, with
gpu_group.c:605
↓ 1 callers
Function
try_hybrid_tile
See if hybrid tiling can be performed on "node" and its parent. * If so, apply hybrid tiling and return the updated schedule tree. * If not, return
gpu.c:4040
↓ 1 callers
Function
update_may_persist_at_band
Update the information in "data" based on the band ancestor "node". * * In particular, we restrict the dependences in data->local_flow * to those d
gpu.c:4852
↓ 1 callers
Function
update_may_persist_at_filter
Update the information in "data" based on the filter ancestor "node". * We only need to modify anything if the filter is the child * of a set or seq
gpu.c:4997
Function
ISL_ARG_CHILD
ppcg.c:52
Function
accesses_overlap
Check if the access relations of group1 and group2 overlap within * copy_sched. */
gpu_group.c:717
Function
after_mark
This function is called after the AST generator has finished traversing * the schedule subtree of a mark node. "node" points to the corresponding *
gpu.c:2443
Function
ast_build_after_for
This method is executed after the construction of a for node. * * It performs the following actions: * * - Reset the 'in_parallel_for' flag, as s
cpu.c:258
Function
ast_build_before_for
This method is executed before the construction of a for node. It creates * an isl_id that is used to annotate the subsequently generated ast for nod
cpu.c:233
Function
at_domain
This function is called for each instance of a user statement * in the kernel. This may be one of the original user statements * or a statement int
gpu.c:2099
Function
at_each_domain
Transform the accesses in the statement associated to the domain * called by "node" to refer to the AST loop iterators, construct * corresponding AS
cpu.c:406
Function
at_node
This function is called for each node in a GPU AST. * In case of a user node, print the macro definitions required * for printing the AST expression
gpu_print.c:205
Function
at_node
This function is called for each node in a CPU AST. * In case of a user node, print the macro definitions required * for printing the AST expression
cpu.c:473
Function
before_mark
This function is called before the AST generator starts traversing * the schedule subtree of a node with mark "mark". * * If the mark is called "ke
gpu.c:2417
Function
check_call
This function is a callback for pet_tree_foreach_expr. * If "expr" contains any call (sub)expressions, then set *has_call * and abort the search. *
ppcg.c:288
Function
check_merge
Given a set of validity and proximity schedule constraints "map" * between statements in consecutive leaves in a valid schedule, * should the two le
grouping.c:253
Function
compute_or_set_properties
Compute a schedule or determine the properties of the original schedule * depending on the value of the "reschedule" option. */
gpu.c:4590
Function
copy_summary
tests/call2.c:3
Function
copy_summary
tests/not_accessed.c:3
Function
copy_summary
tests/call.c:3
Function
copy_summary
tests/call3.c:3
Function
detect_groups
If "node" is a sequence, then check if it has any consecutive * leaves that should be merged together and store the results * in "grouping". * * I
grouping.c:600
Function
drop_phase_mark
This function is called on each of the two phase marks * in a hybrid tiling tree. * Drop the phase mark at "node". */
hybrid.c:2202
Function
extract_access
Extract a gpu_stmt_access from "expr", append it to the list * that ends in *data->next_access and update the end of the list. * If the access expre
gpu.c:5487
Function
extract_size_of_type
This function is called for each set in a union_set. * If the name of the set matches data->type, we store the * set in data->res. */
gpu.c:486
Function
free_ast_node_userinfo
Free an ast_node_info structure. */
cpu.c:219
Function
generate_wrap
Wrapper around generate for use as a ppcg_transform callback. */
gpu.c:5709
Function
has_call
Does "stmt" contain any call expressions? */
ppcg.c:300
Function
is_not_kill
Is "stmt" not a kill statement? */
ppcg.c:210
Function
main
ppcg.c:1033
Function
main
tests/call2.c:14
Function
main
tests/call5.c:8
Function
main
tests/not_accessed.c:14
Function
main
tests/call4.c:9
Function
main
tests/struct4.c:8
Function
main
tests/iterator.c:3
Function
main
tests/call.c:14
← previous
next →
401–500 of 546, ranked by callers