MCPcopy Create free account
hub / github.com/cwida/ALP / plot_architectures

Method plot_architectures

publication/plotter/plot_maker.py:519–602  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

517
518
519 def plot_architectures(self):
520 graviton2 = [
521 pd.read_csv(f'{self.results_directory}/c6g/fallback_scalar_aav_1024_uf1_falp.csv'), # Auto-Vectorized
522 pd.read_csv(f'{self.results_directory}/c6g/fallback_scalar_nav_1024_uf1_falp.csv'), # Scalar
523 pd.read_csv(f'{self.results_directory}/c6g/arm64v8_neon_intrinsic_1024_uf1_falp.csv')# SIMDized
524 ]
525 graviton3 = [
526 pd.read_csv(f'{self.results_directory}/c7g/fallback_scalar_aav_1024_uf1_falp.csv'), # Auto-Vectorized
527 pd.read_csv(f'{self.results_directory}/c7g/fallback_scalar_nav_1024_uf1_falp.csv'), # Scalar
528 pd.read_csv(f'{self.results_directory}/c7g/arm64v8_neon_intrinsic_1024_uf1_falp.csv')# SIMDized
529 ]
530 icelake = [
531 pd.read_csv(f'{self.results_directory}/i4i_4xlarge/fallback_scalar_aav_1024_uf1_falp.csv'), # Auto-Vectorized
532 pd.read_csv(f'{self.results_directory}/i4i_4xlarge/fallback_scalar_nav_1024_uf1_falp.csv'), # Scalar
533 pd.read_csv(f'{self.results_directory}/i4i_4xlarge/x86_64_avx512bw_intrinsic_1024_uf1_falp.csv')# SIMDized
534 ]
535 m1 = [
536 pd.read_csv(f'{self.results_directory}/m1/fallback_scalar_aav_1024_uf1_falp.csv'), # Auto-Vectorized
537 pd.read_csv(f'{self.results_directory}/m1/fallback_scalar_nav_1024_uf1_falp.csv'), # Scalar
538 pd.read_csv(f'{self.results_directory}/m1/arm64v8_neon_intrinsic_1024_uf1_falp.csv')# SIMDized
539 ]
540 zen3 = [
541 pd.read_csv(f'{self.results_directory}/m6a_xlarge/fallback_scalar_aav_1024_uf1_falp.csv'), # Auto-Vectorized
542 pd.read_csv(f'{self.results_directory}/m6a_xlarge/fallback_scalar_nav_1024_uf1_falp.csv'), # Scalar
543 pd.read_csv(f'{self.results_directory}/m6a_xlarge/x86_64_avx2_intrinsic_1024_uf1_falp.csv') # SIMDized
544 ]
545
546 architecturesRaw = [graviton2, graviton3, icelake, m1, zen3]
547
548 method = ['Auto-Vectorized', 'Scalar', 'SIMDized']
549 architectures = ['Graviton2', 'Graviton3', 'Ice Lake', 'M1', 'Zen3']
550 dfArch = []
551 for i, arch in enumerate(architecturesRaw):
552 for j, df in enumerate(arch):
553 df['arch'] = architectures[i]
554 df['method'] = method[j]
555 dfArch.append(df)
556 df = pd.concat(dfArch)
557 df['tuples_per_cycle'] = 1 / df['cycles_per_tuple']
558 df = df[
559 (df['name'].str.contains('fused'))
560 & (~df['name'].str.contains('bw'))
561 & (~df['name'].str.contains('gov'))
562 ]
563 df = df[['tuples_per_cycle', 'arch', 'method']]
564
565 font = {'size': 8}
566 matplotlib.rc('font', **font)
567
568 fig, (ax1) = plt.subplots(1, 1, constrained_layout=True)
569 fig.set_size_inches(4.5, 1.8)
570
571 sns.stripplot(
572 data=df,
573 x="arch",
574 y="tuples_per_cycle",
575 hue='method',
576 jitter=0.3,

Callers 1

plotter.pyFile · 0.80

Calls 1

containsMethod · 0.80

Tested by

no test coverage detected