summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cuda-kernels/VPlog/parsing_script.py140
-rwxr-xr-xcuda-kernels/scripts55
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