stgraph.compiler.code_gen package

Subpackages

Submodules

stgraph.compiler.code_gen.code_gen module

class stgraph.compiler.code_gen.code_gen.AggInfo(init, compute, inner_write, outter_write)

Bases: tuple

compute

Alias for field number 1

init

Alias for field number 0

inner_write

Alias for field number 2

outter_write

Alias for field number 3

class stgraph.compiler.code_gen.code_gen.ArgInfo(name, type, is_ptr)

Bases: tuple

is_ptr

Alias for field number 2

name

Alias for field number 0

type

Alias for field number 1

class stgraph.compiler.code_gen.code_gen.EdgeInfo(load, compute, inner_write)

Bases: tuple

compute

Alias for field number 1

inner_write

Alias for field number 2

load

Alias for field number 0

class stgraph.compiler.code_gen.code_gen.NodeInfo(load, compute, inner_write)

Bases: tuple

compute

Alias for field number 1

inner_write

Alias for field number 2

load

Alias for field number 0

stgraph.compiler.code_gen.code_gen.gen_agg_info(stmt, ctx)[source]
stgraph.compiler.code_gen.code_gen.gen_arg_info(arg)[source]
stgraph.compiler.code_gen.code_gen.gen_code(exe_units, index_type, graph_type)[source]

Generating cuda code by instantiate code template

stgraph.compiler.code_gen.code_gen.gen_cuda(configs)[source]
stgraph.compiler.code_gen.code_gen.gen_edge_info(stmt, ctx)[source]
stgraph.compiler.code_gen.code_gen.gen_node_info(stmt, ctx)[source]
stgraph.compiler.code_gen.code_gen.render_template(config, template_name)[source]

stgraph.compiler.code_gen.compiler module

stgraph.compiler.code_gen.compiler.compile_cuda(cuda_text)[source]
stgraph.compiler.code_gen.compiler.compile_with_nvcc(cuda_text)[source]
stgraph.compiler.code_gen.compiler.compile_with_nvrtc(cuda_text)[source]

stgraph.compiler.code_gen.cuda_check module

class stgraph.compiler.code_gen.cuda_check.GPUDevice(print_log=False)[source]

Bases: object

log()[source]

stgraph.compiler.code_gen.cuda_driver module

stgraph.compiler.code_gen.cuda_error module

stgraph.compiler.code_gen.cuda_error.ASSERT_DRV(err)[source]

stgraph.compiler.code_gen.device_info module

class stgraph.compiler.code_gen.device_info.DeviceInfo(print_log=False)[source]

Bases: object

log()[source]

stgraph.compiler.code_gen.kernel_context module

class stgraph.compiler.code_gen.kernel_context.KernelContext(unit, index_type)[source]

Bases: object

eq_dim(var_shape, dim_list)[source]
get_offset_key(var)[source]
init_offset_cache()[source]
kernel_argument_used_in_stmt(stmt)[source]
matrix_var_offset(var)[source]
query_offset(var)[source]
scalar_var_offset(var)[source]
set_stmt_ctx(stmt)[source]
vector_var_offset(var)[source]
write_inner(stmt)[source]
class stgraph.compiler.code_gen.kernel_context.LinearizedKernelContext(unit, index_type)[source]

Bases: KernelContext

graph_type_key(var)[source]
query_offset(var)[source]
class stgraph.compiler.code_gen.kernel_context.StmtGenCtx(write_type, write_location, kernel_arguments)

Bases: tuple

The context for generate current statement. Each statment has several customizable points.

write_type - WriteType. use atomic instructions if the program output has different dimension with current statement’s ret val. write_location - WriteLocation. materialize the stament whithin the edge sequential loop or outside kernel_arguments - set(). Returns the set of args and ret that are kernel arguments.

kernel_arguments

Alias for field number 2

write_location

Alias for field number 1

write_type

Alias for field number 0

Module contents