Updated Python script again lol

This commit is contained in:
uzy lol 2024-10-24 19:23:55 -07:00
parent 91f8def5ea
commit 7417119b63

View File

@ -31,20 +31,30 @@ df = pd.read_csv(fname, comment="#")
# Extract columns
problem_sizes = df['Problem Size'].values.tolist()
elapsed_times = df['Elapsed Time'].values.tolist()
elapsed_times_direct = df['sum_direct'].values.tolist()
elapsed_times_indirect = df['sum_indirect'].values.tolist()
elapsed_times_vector = df['sum_vector'].values.tolist()
# Calculate MFLOP/s
mflops = [OPS / time for time in elapsed_times]
mflops_direct = [OPS / time for time in elapsed_times_direct]
mflops_indirect = [OPS / time for time in elapsed_times_indirect]
mflops_vector = [OPS / time for time in elapsed_times_vector]
# Calculate Memory Bandwidth Utilization (%)
memory_bandwidth = [(BYTES_ACCESSED / time) / PEAK_MEMORY_BANDWIDTH * 100 for time in elapsed_times]
memory_bandwidth_direct = [(BYTES_ACCESSED / time) / PEAK_MEMORY_BANDWIDTH * 100 for time in elapsed_times_direct]
memory_bandwidth_indirect = [(BYTES_ACCESSED / time) / PEAK_MEMORY_BANDWIDTH * 100 for time in elapsed_times_indirect]
memory_bandwidth_vector = [(BYTES_ACCESSED / time) / PEAK_MEMORY_BANDWIDTH * 100 for time in elapsed_times_vector]
# Calculate Memory Latency
memory_latency = [time / MEMORY_ACCESSES for time in elapsed_times]
memory_latency_direct = [time / MEMORY_ACCESSES for time in elapsed_times_direct]
memory_latency_indirect = [time / MEMORY_ACCESSES for time in elapsed_times_indirect]
memory_latency_vector = [time / MEMORY_ACCESSES for time in elapsed_times_vector]
# Plot MFLOP/s
plt.figure()
plt.plot(problem_sizes, mflops, label='MFLOP/s')
plt.plot(problem_sizes, mflops_direct, label='Direct')
plt.plot(problem_sizes, mflops_indirect, label='Indirect')
plt.plot(problem_sizes, mflops_vector, label='Vector')
plt.title('Problem Size vs. MFLOP/s')
plt.xlabel('Problem Size')
plt.ylabel('MFLOP/s')
@ -53,7 +63,9 @@ plt.savefig('mflops_plot.png')
# Plot Memory Bandwidth Utilization
plt.figure()
plt.plot(problem_sizes, memory_bandwidth, label='Memory Bandwidth Utilization (%)')
plt.plot(problem_sizes, memory_bandwidth_direct, label='Direct')
plt.plot(problem_sizes, memory_bandwidth_indirect, label='Indirect')
plt.plot(problem_sizes, memory_bandwidth_vector, label='Vector')
plt.title('Problem Size vs. Memory Bandwidth Utilization')
plt.xlabel('Problem Size')
plt.ylabel('Memory Bandwidth Utilization (%)')
@ -62,7 +74,9 @@ plt.savefig('memory_bandwidth_plot.png')
# Plot Memory Latency
plt.figure()
plt.plot(problem_sizes, memory_latency, label='Memory Latency')
plt.plot(problem_sizes, memory_latency_direct, label='Direct')
plt.plot(problem_sizes, memory_latency_indirect, label='Indirect')
plt.plot(problem_sizes, memory_latency_vector, label='Vector')
plt.title('Problem Size vs. Memory Latency')
plt.xlabel('Problem Size')
plt.ylabel('Memory Latency')