コード例 #1
0
ファイル: DetectBug.py プロジェクト: Lebronmydx/Simulee
def test_kaldi_repair_add_mat():
    test_block = Block((-1, -1, 0), (1, 1, 1))  # important
    test_thread = Thread((-1, -1, 0), (33, 1, 1))
    global_current_env = parse_function(
        "./kaldi-repair/_add_diag_mat_repair.ll")
    arguments = generate_arguments(
        global_current_env.get_value("@_Z17_add_diag_mat_matdPdiPKdiiiS1_iid"),
        {
            "%beta": 137.667712982,
            "%N_col_stride": 25,
            "%v_dim": 12,
            "%alpha": 55.3145449404,
            "%M_cols": 1,
            "%M_row_stride": 63,
            "%N_row_stride": 7,  # -70,
            "%M_col_stride": 2
        })
    arguments["main_memory"] = {
        'global': None,
        'shared': "@_ZZ17_add_diag_mat_matdPdiPKdiiiS1_iidE9temp_data",
    }
    generate_memory_container([], global_current_env)
    raw_code = global_current_env.get_value(
        "@_Z17_add_diag_mat_matdPdiPKdiiiS1_iid")
    construct_memory_execute_mode(test_block, test_thread, 256, 256,
                                  raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync,
                                  parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #2
0
def main_test():
    test_block = Block((-1, -1, 0), (2, 1, 1))
    test_thread = Thread((-1, -1, 0), (128, 1, 1))
    num_elements = DataType('i32')
    num_elements.set_value(100)
    global_env_test = Environment()
    shared_memory_test = DataType("[256 x double]*")
    shared_memory_test.set_value("@_ZZL8_vec_sumIdEvPT_S1_iE8row_data")
    global_env_test.add_value("@_ZZL8_vec_sumIdEvPT_S1_iE8row_data",
                              shared_memory_test)
    args = {
        "%v": DataType("double*"),
        "%dim": num_elements,
        "%sum": DataType("double*"),
        "main_memory": {
            "global": "%v",
            "shared": "@_ZZL8_vec_sumIdEvPT_S1_iE8row_data"
        }
    }
    args["%v"].set_value("%v")
    from MainProcess import construct_memory_execute_mode
    from MainProcess import parse_target_memory_and_checking_sync
    Function.read_function_from_file("./func.ll", global_env_test)
    raw_code = global_env_test.get_value("@_ZL8_vec_sumIdEvPT_S1_i")
    construct_memory_execute_mode(test_block, test_thread, 100, 256,
                                  raw_code.raw_codes, args,
                                  parse_target_memory_and_checking_sync,
                                  parse_target_memory_and_checking_sync,
                                  global_env_test)
コード例 #3
0
ファイル: DetectBug.py プロジェクト: Lebronmydx/Simulee
def test_thundersvm_c_smo_solve_kernel():
    test_block = Block((-1, -1, 0), (1, 1, 1))  # important
    test_thread = Thread((-1, -1, 0), (34, 1, 1))
    global_current_env = parse_function("./thundersvm-new-bug/new-fun.ll")
    arguments = generate_arguments(
        global_current_env.get_value(
            "@_Z18c_smo_solve_kernelPKiPfS1_S1_S0_iffPKfS3_ifS1_i"), {
                "%ws_size": 8,
                "%Cp": 1.0,
                "%Cn": 1.0,
                "%row_len": 2,
                "%eps": 1.0,
                "%max_t_iter": 3,
            })
    arguments["main_memory"] = {
        'global':
        "%alpha",
        'shared':
        "@_ZZ18c_smo_solve_kernelPKiPfS1_S1_S0_iffPKfS3_ifS1_iE10shared_mem",
    }
    generate_memory_container([], global_current_env)

    raw_code = global_current_env.get_value(
        "@_Z18c_smo_solve_kernelPKiPfS1_S1_S0_iffPKfS3_ifS1_i")
    construct_memory_execute_mode(test_block, test_thread, 256, 512,
                                  raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync,
                                  parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #4
0
ファイル: DetectBug.py プロジェクト: Lebronmydx/Simulee
def test_gunrock():
    test_block = Block((-1, -1, 0), (4, 1, 1))  # important
    test_thread = Thread((-1, -1, 0), (33, 1, 1))
    global_current_env = parse_function("./gunrock/gunrock.ll")
    arguments = generate_arguments(
        global_current_env.get_value("@_Z4JoiniiPKiS0_PiS0_S0_S0_S1_S1_"), {
            "%edges": 1,
            "%iter": 0,
        })
    arguments["main_memory"] = {
        'global': "%froms_out",
        'shared': None,
    }
    generate_memory_container([
        "%pos",
        "%intersect",
    ], global_current_env)
    target_memory = global_current_env.get_value("memory_container")
    fill_data_to_memory_by_list(target_memory, "%pos", [9, 10, 11])
    fill_data_to_memory_by_list(target_memory, "%intersect", [5, 11, 3])
    raw_code = global_current_env.get_value(
        "@_Z4JoiniiPKiS0_PiS0_S0_S0_S1_S1_")
    construct_memory_execute_mode(test_block, test_thread, 512, 512,
                                  raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync,
                                  parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #5
0
ファイル: DetectBug.py プロジェクト: Lebronmydx/Simulee
def test_trace_mat_mat_trans():
    test_block = Block((-1, -1, 0), (1, 1, 1))
    test_thread = Thread((-1, -1, 0), (40, 1, 1))
    global_current_env = parse_function("./kaldi-new-bug/new-func.ll")
    arguments = generate_arguments(
        global_current_env.get_value("@_Z20_trace_mat_mat_transPKfS0_iiiiPf"),
        {
            "%dA_rows": 5,
            "%dA_cols": 5,
            "%dA_stride": 1,
            "%B_stride": 1,
        })
    arguments["main_memory"] = {
        'global': None,  # "%value",
        'shared': "@_ZZ20_trace_mat_mat_transPKfS0_iiiiPfE4ssum",
    }
    generate_memory_container(["@_ZZ20_trace_mat_mat_transPKfS0_iiiiPfE4ssum"],
                              global_current_env)

    raw_code = global_current_env.get_value(
        "@_Z20_trace_mat_mat_transPKfS0_iiiiPf")
    construct_memory_execute_mode(test_block, test_thread, 100, 256,
                                  raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync,
                                  parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #6
0
ファイル: DetectBug.py プロジェクト: Lebronmydx/Simulee
def test_slice():
    test_block = Block((-1, -1, 0), (1, 1, 1))
    test_thread = Thread((-1, -1, 0), (3, 2, 1))
    global_current_env = parse_function("./kaldi-new-bug/new-func.ll")
    arguments = generate_arguments(
        global_current_env.get_value("@_Z7_splicePfPKfPKiiiiiii"), {
            "%d_out_cols": 5,
            "%d_out_rows": 5,
            "%d_out_stride": 1,
            "%d_in_cols": 5,
            "%d_in_rows": 5,
            "%d_in_stride": 1,
        })
    arguments["main_memory"] = {
        'global': "%y",
        'shared': None,
    }
    generate_memory_container(["%off"], global_current_env)
    target_memory = global_current_env.get_value("memory_container")
    generate_random_data_for_memory(target_memory, "%off", 100)
    raw_code = global_current_env.get_value("@_Z7_splicePfPKfPKiiiiiii")
    construct_memory_execute_mode(test_block, test_thread, 100, 256,
                                  raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync,
                                  parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #7
0
ファイル: DetectBug.py プロジェクト: Lebronmydx/Simulee
def test_add_diag_vec_mat():
    test_block = Block((-1, -1, 0), (1, 3, 1))
    test_thread = Thread((-1, -1, 0), (5, 5, 1))
    global_current_env = parse_function("./kaldi-new-bug/new-func.ll")
    arguments = generate_arguments(
        global_current_env.get_value("@_Z17_add_diag_vec_matfPfiiiPKfS1_iif"),
        {
            "%rows": 3,
            "%cols": 16,
            "%stride": 1,
            "%alpha": 1.0,
            "%beta": 1.0,
            "%mat2_row_stride": 7,
            "%mat2_col_stride": 9,
        })
    arguments["main_memory"] = {
        'global': "%mat",
        'shared': None,
    }
    generate_memory_container([], global_current_env)

    raw_code = global_current_env.get_value(
        "@_Z17_add_diag_vec_matfPfiiiPKfS1_iif")
    construct_memory_execute_mode(test_block, test_thread, 100, 256,
                                  raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync,
                                  parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #8
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def test_arrayfire_convolve2():
    test_block = Block((-1, -1, 0), (2, 2, 1))  # important
    test_thread = Thread((-1, -1, 0), (3, 3, 3))
    global_current_env = parse_function("./arrayfire-new-bug/new-func.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z9convolve2PiS_iS_S_S_S_iiiiiiii"), {
        "%nBBS0": 8,
        "%nBBS1": 1,
        "%o2": 1,
        "%o3": 2,
        "%s2": 1,
        "%s3": 2,
        "%expand": 1,
        "%fLen0": 2,
        "%fLen1": 1,
    })
    arguments["main_memory"] = {
        'global': None,
        'shared': "@_ZZ9convolve2PiS_iS_S_S_S_iiiiiiiiE7shrdMem",
    }
    generate_memory_container(["%out_strides", "%out_dims", "%signal_strides", "%signal_dims"], global_current_env)
    target_memory = global_current_env.get_value("memory_container")
    fill_data_to_memory_by_list(target_memory, "%out_strides", [1, 1, 1])
    fill_data_to_memory_by_list(target_memory, "%out_dims", [1, 2, 3])
    fill_data_to_memory_by_list(target_memory, "%signal_strides", [1, 1, 1])
    fill_data_to_memory_by_list(target_memory, "%signal_dims", [1, 2, 3])
    raw_code = global_current_env.get_value("@_Z9convolve2PiS_iS_S_S_S_iiiiiiii")
    construct_memory_execute_mode(test_block, test_thread, 256, 512, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #9
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def execute_framework(blocks, threads, raw_codes, arguments, global_env, main_size=512, shared_size=512,
                      should_print=False):
    print "===================================================================================="
    print "Test on " + str(arguments)
    print_arguments(arguments)
    print "Dimension: " + str(blocks.grid_dim) + " " + str(threads.block_dim)
    construct_memory_execute_mode(blocks, threads, main_size, shared_size, raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_env, should_print)
    print "===================================================================================="
コード例 #10
0
ファイル: test_arrayfire.py プロジェクト: shadowmydx/Simulee
def test_barrier_fix_syncthreads():
    test_block = Block((-1, -1, 0), (2, 1, 1))
    test_thread = Thread((-1, -1, 0), (3, 3, 1))
    global_env_test = Environment()
    shared_memory_test_1 = DataType("[256 x i32]*")
    shared_memory_test_1.set_value("@_ZZ14select_matchesPjPiPKjPKijjiE6s_dist")
    shared_memory_test_2 = DataType("[256 x i32]*")
    shared_memory_test_2.set_value("@_ZZ14select_matchesPjPiPKjPKijjiE5s_idx")
    global_env_test.add_value("@_ZZ14select_matchesPjPiPKjPKijjiE6s_dist",
                              shared_memory_test_1)
    global_env_test.add_value("@_ZZ14select_matchesPjPiPKjPKijjiE5s_idx",
                              shared_memory_test_2)
    memory_container = MemoryContainer()
    memory_container.add_new_memory("@_ZZ14select_matchesPjPiPKjPKijjiE5s_idx")
    memory_container.add_new_memory(
        "@_ZZ14select_matchesPjPiPKjPKijjiE6s_dist")
    global_env_test.add_value("memory_container", memory_container)
    num_elements = DataType('i32')
    num_elements.set_value(2)
    max_dist = DataType('i32')
    max_dist.set_value(5)
    n_feat = DataType('i32')
    n_feat.set_value(5)
    args = {
        "%idx_ptr": DataType("i32*"),
        "%dist_ptr": DataType("i32*"),
        "%in_idx": DataType("i32*"),
        "%in_dist": DataType("i32*"),
        "%nfeat": n_feat,
        "%nelem": num_elements,
        "%max_dist": max_dist,
        "main_memory": {
            "global": None,
            "shared": "@_Z14select_matchesPjPiPKjPKijji",
        }
    }
    args["%idx_ptr"].set_value("%idx_ptr")
    args["%dist_ptr"].set_value("%dist_ptr")
    args["%in_idx"].set_value("%in_idx")
    args["%in_dist"].set_value("%in_dist")
    Function.read_function_from_file(
        "./arrayfire/arrayfire-Fix-syncthreads-in-cuda-nearest-neighbour.ll",
        global_env_test)
    raw_code = global_env_test.get_value("@_Z14select_matchesPjPiPKjPKijji")
    construct_memory_execute_mode(test_block, test_thread, 100, 256,
                                  raw_code.raw_codes, args,
                                  parse_target_memory_and_checking_sync,
                                  parse_target_memory_and_checking_sync,
                                  global_env_test, False)
コード例 #11
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def test_copy_low_upp():
    test_block = Block((-1, -1, 0), (2, 3, 1))
    test_thread = Thread((-1, -1, 0), (5, 5, 1))
    global_current_env = parse_function("./kaldi-new-bug/new-func.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z13_copy_low_uppPfii"), {"%rows": 23, "%stride": 1})
    arguments["main_memory"] = {
        'global': "%A",
        'shared': None,
    }
    generate_memory_container([], global_current_env)

    raw_code = global_current_env.get_value("@_Z13_copy_low_uppPfii")
    construct_memory_execute_mode(test_block, test_thread, 100, 256, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #12
0
ファイル: DetectBug.py プロジェクト: reddeadbread/Simulee
def test_device_global():
    test_block = Block((-1, -1, 0), (4, 1, 1))
    test_thread = Thread((-1, -1, 0), (5, 1, 1))
    # global_current_env = parse_function("./read_write_test.ll")
    global_current_env = parse_function("./read_write_test.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z13device_globalPji"), {"%num_elements": 5})
    arguments["main_memory"] = {
        'global': "%input_array",
        'shared': None,
    }
    generate_memory_container([], global_current_env)

    raw_code = global_current_env.get_value("@_Z13device_globalPji")
    construct_memory_execute_mode(test_block, test_thread, 100, 256, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #13
0
ファイル: DetectBug.py プロジェクト: reddeadbread/Simulee
def test_arrayfire_reduce():
    test_block = Block((-1, -1, 0), (1, 1, 1))
    test_thread = Thread((-1, -1, 0), (34, 3, 1))
    # global_current_env = parse_function("./read_write_test.ll")
    global_current_env = parse_function("./arrayfire-repair/reduce-repair.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z11warp_reducePd"), {})
    arguments["main_memory"] = {
        'global': "%s_ptr",
        'shared': None,
    }
    generate_memory_container([], global_current_env)

    raw_code = global_current_env.get_value("@_Z11warp_reducePd")
    construct_memory_execute_mode(test_block, test_thread, 100, 256, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #14
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def performance_sync_cudpp_sparseMatrixVectorSetFlags():
    test_block = Block((-1, -1, 0), (1, 1, 1))  # important
    test_thread = Thread((-1, -1, 0), (32, 1, 1))
    global_current_env = parse_function("./cudpp-new-bug/new-func-performance.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z26sparseMatrixVectorSetFlagsPjPKjj"), {
        "%numRows": 5,
    })
    arguments["main_memory"] = {
        'global': "%d_rowindx",
        'shared': None,
    }
    generate_memory_container([], global_current_env)
    raw_code = global_current_env.get_value("@_Z26sparseMatrixVectorSetFlagsPjPKjj")
    construct_memory_execute_mode(test_block, test_thread, 100, 100, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #15
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def performance_sync_cuda_cnn_g_getCost_3():
    test_block = Block((-1, -1, 0), (1, 1, 1))  # important
    test_thread = Thread((-1, -1, 0), (32, 1, 1))
    global_current_env = parse_function("./cuda-cnn-new-bug/new-func-performance.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z11g_getCost_3PfS_fi"), {
        "%lambda": 1.0,
        "%wlen": 5,
    })
    arguments["main_memory"] = {
        'global': None,
        'shared': "@_ZZ11g_getCost_3PfS_fiE4_sum",
    }
    generate_memory_container([], global_current_env)
    raw_code = global_current_env.get_value("@_Z11g_getCost_3PfS_fi")
    construct_memory_execute_mode(test_block, test_thread, 256, 32, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #16
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def test_cudamat_random():
    test_block = Block((-1, -1, 0), (2, 1, 1))  # important
    test_thread = Thread((-1, -1, 0), (128, 1, 1))
    global_current_env = parse_function("./cudamat-new-bug/new-func.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z15kRandomGaussianPjPyPfj"), {
        "%numElements": 16,
    })
    arguments["main_memory"] = {
        'global': "%rndWords",
        'shared': None,
    }
    generate_memory_container([], global_current_env)

    raw_code = global_current_env.get_value("@_Z15kRandomGaussianPjPyPfj")
    construct_memory_execute_mode(test_block, test_thread, 256, 256, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #17
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def test_xmrig():
    test_block = Block((-1, -1, 0), (3, 1, 1))  # important
    test_thread = Thread((-1, -1, 0), (5, 1, 1))
    global_current_env = parse_function("./xmrig/new-func.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z27cryptonight_core_gpu_phase3iiiPKjPjS1_"), {
        "%threads": 25,
        "%bfactor": 6,
        "%partidx": 0,
    })
    arguments["main_memory"] = {
        'global': None,
        'shared': "@_ZZ27cryptonight_core_gpu_phase3iiiPKjPjS1_E12sharedMemory",
    }
    generate_memory_container([], global_current_env)
    raw_code = global_current_env.get_value("@_Z27cryptonight_core_gpu_phase3iiiPKjPjS1_")
    construct_memory_execute_mode(test_block, test_thread, 512, 1024, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #18
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def test_cuda_sift_MatchSiftPoints4():
    test_block = Block((-1, -1, 0), (2, 1, 1))  # important
    test_thread = Thread((-1, -1, 0), (34, 2, 1))
    global_current_env = parse_function("./cudaSift-new-bug/new-func.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z16MatchSiftPoints4PfS_S_ii"), {
        "%numPts1": 1,
        "%numPts2": 2,
    })
    arguments["main_memory"] = {
        'global': "%corrData",
        'shared': None,
    }
    generate_memory_container([], global_current_env)

    raw_code = global_current_env.get_value("@_Z16MatchSiftPoints4PfS_S_ii")
    construct_memory_execute_mode(test_block, test_thread, 256, 2048, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #19
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def test_convnet_kDotProduct_r():
    test_block = Block((-1, -1, 0), (2, 1, 1))  # important
    test_thread = Thread((-1, -1, 0), (3, 3, 1))
    global_current_env = parse_function("./cuda-convnet2-new-bug/new-func.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z13kDotProduct_rPfS_S_j"), {
        "%numElements": 5,
    })
    arguments["main_memory"] = {
        'global': None,
        'shared': "@_ZZ13kDotProduct_rPfS_S_jE5shmem",
    }
    generate_memory_container(["%off"], global_current_env)
    target_memory = global_current_env.get_value("memory_container")
    generate_random_data_for_memory(target_memory, "%off", 100)
    raw_code = global_current_env.get_value("@_Z13kDotProduct_rPfS_S_j")
    construct_memory_execute_mode(test_block, test_thread, 256, 512, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #20
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def performance_sync_FindMaxCorr():
    test_block = Block((-1, -1, 0), (2, 2, 1))  # important
    test_thread = Thread((-1, -1, 0), (16, 16, 1))
    global_current_env = parse_function("./cudaSift-new-bug/new-func-performance.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z13FindMaxCorr_2PfS_S_iii"), {
        "%numPts1": 1,
        "%corrWidth": 2,
        "%siftSize": 3,
    })
    arguments["main_memory"] = {
        'global': "%corrData",
        'shared': "@_ZZ11FindMaxCorrPfS_S_iiiE8maxIndex",
    }
    generate_memory_container([], global_current_env)

    raw_code = global_current_env.get_value("@_Z13FindMaxCorr_2PfS_S_iii")
    construct_memory_execute_mode(test_block, test_thread, 256, 256, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #21
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def test_cudamat_kMinColumnwise():
    test_block = Block((-1, -1, 0), (9, 1, 1))  # important
    test_thread = Thread((-1, -1, 0), (33, 1, 1))
    global_current_env = parse_function("./cudamat-new-bug/new-func.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z14kMinColumnwisePfS_jj"), {
        "%width": 9,
        "%height": 9,
    })
    arguments["main_memory"] = {
        'global': "%target",
        'shared': "@_ZZ14kMinColumnwisePfS_jjE8min_vals",
    }
    generate_memory_container(["%mat"], global_current_env)
    target_memory = global_current_env.get_value("memory_container")
    generate_random_float_data_for_memory(target_memory, "%mat", 256)
    raw_code = global_current_env.get_value("@_Z14kMinColumnwisePfS_jj")
    construct_memory_execute_mode(test_block, test_thread, 256, 32, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #22
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def test_copy_from_mat():
    test_block = Block((-1, -1, 0), (1, 1, 1))
    test_thread = Thread((-1, -1, 0), (3, 2, 1))
    global_current_env = parse_function("./kaldi-new-bug/new-func.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z14_copy_from_matPfPKfiiii"), {
        "%d_out_stride": 1,
        "%d_out_rows": 5,
        "%d_out_cols": 5,
        "%d_in_stride": 1,
    })
    arguments["main_memory"] = {
        'global': "%mat_out",
        'shared': None,
    }
    generate_memory_container([], global_current_env)

    raw_code = global_current_env.get_value("@_Z14_copy_from_matPfPKfiiii")
    construct_memory_execute_mode(test_block, test_thread, 100, 256, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #23
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def test_convnet_kTile():
    test_block = Block((-1, -1, 0), (2, 2, 1))  # important
    test_thread = Thread((-1, -1, 0), (3, 1, 1))
    global_current_env = parse_function("./cuda-convnet2-new-bug/new-func.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z5kTilePKfPfjjjj"), {
        "%srcWidth": 5,
        "%srcHeight": 5,
        "%tgtWidth": 5,
        "%tgtHeight": 5,
    })
    arguments["main_memory"] = {
        'global': "%tgt",
        'shared': None,
    }
    generate_memory_container([], global_current_env)

    raw_code = global_current_env.get_value("@_Z5kTilePKfPfjjjj")
    construct_memory_execute_mode(test_block, test_thread, 256, 256, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #24
0
ファイル: DetectBug.py プロジェクト: eagleShanf/Simulee
def test_convnet_kReflectH():
    test_block = Block((-1, -1, 0), (1, 1, 1))
    test_thread = Thread((-1, -1, 0), (34, 4, 1))
    global_current_env = parse_function("./cuda-convnet2-new-bug/new-func.ll")
    arguments = generate_arguments(global_current_env.get_value("@_Z9kReflectHPfS_iiiib"), {
        "%imgSize": 5,
        "%numCases": 5,
        "%numColors": 1,
        "%imgsPerThread": 1,
        "%checkCaseBounds": 1,
    })
    arguments["main_memory"] = {
        'global': "%target",
        'shared': None,
    }
    generate_memory_container([], global_current_env)

    raw_code = global_current_env.get_value("@_Z9kReflectHPfS_iiiib")
    construct_memory_execute_mode(test_block, test_thread, 256, 256, raw_code.raw_codes, arguments,
                                  parse_target_memory_and_checking_sync, parse_target_memory_and_checking_sync,
                                  global_current_env, False)
コード例 #25
0
        "%C": float_elements,
        "%k_mat_rows": DataType("float*"),
        "%k_mat_diag": DataType("float*"),
        "%row_len": row_len,
        "%eps": eps_float,
        "%diff_and_bias": DataType("float*"),
        "main_memory": {
            'global':
            None,
            'shared':
            "@_ZZ19nu_smo_solve_kernelPKiPfS1_S1_S0_ifPKfS3_ifS1_E10shared_mem",
        }
    }
    args["%label"].set_value("%label")
    args["%f_values"].set_value("%f_values")
    args["%alpha"].set_value("%alpha")
    args["%alpha_diff"].set_value("%alpha_diff")
    args["%working_set"].set_value("%working_set")
    args["%k_mat_rows"].set_value("%k_mat_rows")
    args["%k_mat_diag"].set_value("%k_mat_diag")
    args["%diff_and_bias"].set_value("%diff_and_bias")
    Function.read_function_from_file("./thundersvm/thundersvm.ll",
                                     global_env_test)
    raw_code = global_env_test.get_value(
        "@_Z19nu_smo_solve_kernelPKiPfS1_S1_S0_ifPKfS3_ifS1_")
    construct_memory_execute_mode(test_block, test_thread, 100, 256,
                                  raw_code.raw_codes, args,
                                  parse_target_memory_and_checking_sync,
                                  parse_target_memory_and_checking_sync,
                                  global_env_test, False)