diff options
| -rw-r--r-- | cuda-kernels/VPlog/parsing_script.py | 140 | ||||
| -rwxr-xr-x | cuda-kernels/scripts | 55 |
2 files changed, 195 insertions, 0 deletions
diff --git a/cuda-kernels/VPlog/parsing_script.py b/cuda-kernels/VPlog/parsing_script.py new file mode 100644 index 0000000..627c216 --- /dev/null +++ b/cuda-kernels/VPlog/parsing_script.py @@ -0,0 +1,140 @@ +import re +import time +from time import strftime + +def main(): +# time_now = str(strftime("%Y-%m-%d %H-%M-%S", time.localtime())) +# file = "\\" + "Parser Output " + time_now + ".txt" + + regexlist=[] + regexlist.append('gpu_sim_cycle.*') + regexlist.append('gpu_ipc.*') + regexlist.append('gpu_tot_issued_cta.*') + regexlist.append('L1I_total_cache_accesses.*' ) + regexlist.append('L1I_total_cache_misses.*') + regexlist.append('L1C_total_cache_accesses.*') + regexlist.append('L1C_total_cache_misses.*') + regexlist.append('Total_core_cache_stats_breakdown\[CONST_ACC_R\]\[HIT\].*') + regexlist.append('Total_core_cache_stats_breakdown\[CONST_ACC_R\]\[MISS\].*') + regexlist.append('Total_core_cache_stats_breakdown\[INST_ACC_R\]\[HIT\].*') + regexlist.append('Total_core_cache_stats_breakdown\[INST_ACC_R\]\[MISS\].*') + regexlist.append('gpgpu_n_tot_thrd_icount.*') + regexlist.append('gpgpu_n_tot_w_icount.*') + regexlist.append('gpgpu_n_stall_shd_mem.*') + regexlist.append('gpgpu_n_mem_read_global.*') + regexlist.append('gpgpu_n_mem_write_global.*') + regexlist.append('gpgpu_n_mem_const.*') + regexlist.append('gpgpu_n_load_insn.*') + regexlist.append('gpgpu_n_store_insn.*') + regexlist.append('gpgpu_n_param_mem_insn.*') + regexlist.append('traffic_breakdown_coretomem\[CONST_ACC_R\].*') + regexlist.append('traffic_breakdown_coretomem\[GLOBAL_ACC_R\].*') + regexlist.append('traffic_breakdown_coretomem\[GLOBAL_ACC_W\].*') + regexlist.append('traffic_breakdown_coretomem\[INST_ACC_R\].*') + regexlist.append('traffic_breakdown_memtocore\[CONST_ACC_R\].*') + regexlist.append('traffic_breakdown_memtocore\[GLOBAL_ACC_R\].*') + regexlist.append('traffic_breakdown_memtocore\[GLOBAL_ACC_W\].*') + regexlist.append('traffic_breakdown_memtocore\[INST_ACC_R\].*') + regexlist.append('L2_total_cache_accesses.*') + regexlist.append('L2_total_cache_misses.*') + regexlist.append('L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\].*') + regexlist.append('L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[MISS\].*') + regexlist.append('L2_cache_stats_breakdown\[CONST_ACC_R\]\[HIT\].*') + regexlist.append('L2_cache_stats_breakdown\[CONST_ACC_R\]\[MISS\].*') + regexlist.append('L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\].*') + regexlist.append('L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[MISS\].*') + regexlist.append('L2_cache_stats_breakdown\[INST_ACC_R\]\[MISS\].*') + + #VP4 + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp4_16_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp4_16_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp4_32_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp4_32_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp4_64_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp4_64_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp4_128_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp4_128_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp4_256_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp4_256_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + + + #VP8 + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp8_16_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp8_16_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp8_32_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp8_32_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp8_64_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp8_64_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp8_128_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp8_128_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp8_256_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp8_256_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + + #VP16 + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp16_16_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp16_16_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp16_32_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp16_32_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp16_64_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp16_64_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp16_128_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp16_128_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + log_file_path = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp16_256_summary" + export_file = r"/home/araihan/negar-gpgpusim-tensorcore/cuda-kernels/VPlog/vp16_256_parsed" + for regex in regexlist: + parseData(log_file_path, export_file, regex, read_line=True) + +def parseData(log_file_path, export_file, regex, read_line=True): + with open(log_file_path, "r") as file: + match_list = [] + if read_line == True: + for line in file: + for match in re.finditer(regex, line, re.S): + match_text = match.group() + match_text = re.sub('^.*=','',match_text.rstrip()) + match_list.append(match_text+'\n') + print match_text + else: + data = file.read() + for match in re.finditer(regex, data, re.S): + match_text = match.group(); + match_list.append(match_text) + file.close() + + with open(export_file, "a+") as file: + match_list_clean = list(set(match_list)) + for item in xrange(0, len(match_list_clean)): + print match_list_clean[item] + file.write(match_list_clean[item] )#+ "\n") + file.close() + +if __name__ == '__main__': + main() diff --git a/cuda-kernels/scripts b/cuda-kernels/scripts new file mode 100755 index 0000000..b9a3b50 --- /dev/null +++ b/cuda-kernels/scripts @@ -0,0 +1,55 @@ +#!/bin/bash +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp4_16 v4p_genericMatrixMultiply.cu -DSIZE=16 +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp4_32 v4p_genericMatrixMultiply.cu -DSIZE=32 +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp4_64 v4p_genericMatrixMultiply.cu -DSIZE=64 +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp4_128 v4p_genericMatrixMultiply.cu -DSIZE=128 +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp4_256 v4p_genericMatrixMultiply.cu -DSIZE=256 +./vp4_16>vp4_log16 +./vp4_32>vp4_log32 +./vp4_64>vp4_log64 +./vp4_128>vp4_log128 +./vp4_256>vp4_log256 + +grep "kernel_name.*vp_example" -A 589 vp4_log16 >vp4_16_summary +grep "kernel_name.*vp_example" -A 589 vp4_log32 >vp4_32_summary +grep "kernel_name.*vp_example" -A 589 vp4_log64 >vp4_64_summary +grep "kernel_name.*vp_example" -A 589 vp4_log128 >vp4_128_summary +grep "kernel_name.*vp_example" -A 589 vp4_log256 >vp4_256_summary + + +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp8_16 v8p_genericMatrixMultiply.cu -DSIZE=16 +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp8_32 v8p_genericMatrixMultiply.cu -DSIZE=32 +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp8_64 v8p_genericMatrixMultiply.cu -DSIZE=64 +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp8_128 v8p_genericMatrixMultiply.cu -DSIZE=128 +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp8_256 v8p_genericMatrixMultiply.cu -DSIZE=256 +./vp8_16 >vp8_log16 +./vp8_32 >vp8_log32 +./vp8_64 >vp8_log64 +./vp8_128>vp8_log128 +./vp8_256>vp8_log256 + +grep "kernel_name.*vp_example" -A 589 vp8_log16 >vp8_16_summary +grep "kernel_name.*vp_example" -A 589 vp8_log32 >vp8_32_summary +grep "kernel_name.*vp_example" -A 589 vp8_log64 >vp8_64_summary +grep "kernel_name.*vp_example" -A 589 vp8_log128 >vp8_128_summary +grep "kernel_name.*vp_example" -A 589 vp8_log256 >vp8_256_summary + +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp16_16 v16p_genericMatrixMultiply.cu -DSIZE=16 +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp16_32 v16p_genericMatrixMultiply.cu -DSIZE=32 +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp16_64 v16p_genericMatrixMultiply.cu -DSIZE=64 +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp16_128 v16p_genericMatrixMultiply.cu -DSIZE=128 +nvcc --gpu-architecture=compute_70 --gpu-code=compute_70 -lcudart -g -o vp16_256 v16p_genericMatrixMultiply.cu -DSIZE=256 +./vp16_16>vp16_log16 +./vp16_32>vp16_log32 +./vp16_64>vp16_log64 +./vp16_128>vp16_log128 +./vp16_256>vp16_log256 + +grep "kernel_name.*vp_example" -A 589 vp16_log16 >vp16_16_summary +grep "kernel_name.*vp_example" -A 589 vp16_log32 >vp16_32_summary +grep "kernel_name.*vp_example" -A 589 vp16_log64 >vp16_64_summary +grep "kernel_name.*vp_example" -A 589 vp16_log128 >vp16_128_summary +grep "kernel_name.*vp_example" -A 589 vp16_log256 >vp16_256_summary + +mv vp* VPlog/ +make clean |
