Download presentation
Presentation is loading. Please wait.
Published byAmberly Whitehead Modified over 8 years ago
1
AES Encryption Code Generator Undergraduate Research Project by Paul Magrath. Supervised by Dr David Gregg.
2
Motivation AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin What is AES? Why is it interesting? Widely used. New intrinsics. 2
3
Motivation AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin How do we write optimized code for these new instructions? Problem: Hand coded assembly. Solution: A domain specific code generator. 3
4
Motivation AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin Why a domain specific code generator? Effective Proven Speed Maintainability Tunability 4
5
Motivation AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin So: AES Encryption Code Generator. 5
6
Background AES-NI arrives in ‘Westmere’ (due 2010) AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin 6
7
AES Code Generator AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin Takes in input AES encryption loop file. Generates variants of loop. Compiles, runs repeatedly and get median of runtimes of each variant. Reports best variant runtime achieved. 7
8
AES Code Generator AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin 8
9
AES Code Generator AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin Steaming store Unwind inner loop Use local variables Unwind outer loop Interleave Parallel (OpenMP) Prefetch to cache Prefetch to register Variant Options 9
10
AES Code Generator Implementation: Python wrapper C++ application PapiEx integration AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin 10
11
AES Code Generator Testing: Intel C Compiler GNU C Compiler 32 Bit 64 Bit Simulator AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin 11
12
AES Code Generator Experimental Results from: Intel Core 2 Quad Intel Core 2 Duo Intel Pentium 4 Dual AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin 12
13
Experimental Results So...what was learnt? AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin 13
14
The Basics AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin Variant Applied Cycles vs Variants Applied 14
15
Unwinding Outer Loop AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin Level of Unwinding and Local Variables 15
16
Parallel – Intel Core 2 Quad AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin Level of Unwinding and Local Variables 16
17
Parallel – Intel Core 2 Duo AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin Level of Unwinding and Local Variables 17
18
Generator Tunability AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin Intel Core 2 Quad Core (64-bit) Intel Pentium 4 Dual Processor (64-bit) 18
19
Future Work AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin Genetic search algorithms. Intel Shannon. 19
20
Questions? AES Encryption Code Generator - Paul Magrath - Trinity College, Dublin 20
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.