J. Nelson Amaral
Department of Computing Science
University of Alberta
Athabasca Hall (ATH) 352
Edmonton, Alberta, Canada, T6G 2E8
Fax: (780) 492-1071
Email: amaral AT cs DOT ualberta DOT ca

Alberta Tools, Compilers, and Talks

Awards and Recognitions
  • My M.Sc. student Nathan Henderson received a Best M.Sc. Thesis Award from was selected as the runner up for the Department of Computing Science at the University of Alberta in February 2024.
  • IEEE Computer Society Distinguished Visitor (2024-2026)
  • Our paper "Stub Folding: Retaining Type Specialization to Increase the Efficiency of Highly Polymorphic Inline Caches" received the Best Paper Award at the 33rd Annual International Conference on Computer Science and Software Engineering in 2023.
  • Our paper To Pack or Not to Pack: A Generalized Packing Analysis and Transformation received a Distinguished Paper Award at the IEEE/ACM International Symposium on Code Generation and Optimization (CGO) in 2023.
  • 2022 Standard Performance Corporation Evaluation (SPEC) Presidential Award
  • University of Alberta 2020 COVID-19 Remote Teaching Award --- Poster for Festival of Teaching and Learning.
  • My M.Sc. student David Pankratz received a bronze medal in the Huawei Central Software Institute (CSI) Innovation Project Contest in 2020.
  • Jack Marques Franco, a visiting student from Universidad Autonoma de Occident in Cali, Colombia, received the Outstanding International Intern - Canadian Bureau for International Education (CBIE) award at the Festival of Undergraduate Research & Creative Activities (FURCA).
  • University of Alberta Award for Outstanding Mentorship in Undergraduate Research & Creative Activities, March 2020.
  • My M.Sc. student Artem Chikin was selected the Student of the Year by the IBM Centre for Advanced Studies in November 2018, Markham, ON, Canada.
  • My M.Sc. student Taylor Lloyd was selected as the runner up for the Department of Computing Science Masters Thesis Award in October 2018.
  • Our collaborative research project was the runner-up for the Project of the Year awarded by the IBM Centre for Advanced Studies in November 2018, Markham, ON, Canada.
  • My M.Sc. student Artem Chikin received the Department of Computing Science M. Sc. Early Achievement Award in October 2017.
  • SPEC 2017 Award -- SPEC CPU 2017 Benchmark Release
  • 2017 Interdepartmental Science Students' Society Award for Excellence in Teaching
  • University of Alberta Faculty of Science Excellence in Teaching Award, May 2015.
  • Designated a Distinguished Engineer by the Association for Computing Machinery (ACM) in 2014.
  • My student Matthew Gaudet was the Runner-up for the 2014 Departmental M.Sc. Outstanding Thesis Award.
  • I was a Distinguished Association for Computing Machinery (ACM) Speaker (2012-2014).
  • Ph.D. student Alejandro Ramirez-Sanabria received a prestigious IBM Ph.D. Fellowship in 2014 and 2015.
  • I received a 2014 Interdepartmental Science Students' Society Award for Excellence in Teaching
  • M.Sc. student Matthew Gaudet has been selected to receive the University of Alberta Alumni Award of Excellence.
  • Elected to the Standard Performance Evaluation Corporation (SPEC) Board of Directors - January 2014.
  • I received the 2012 IBM Center for Advanced Studies (CAS) Resarch Faculty Fellow of the Year award.
  • Previous awards and recognitions
Students (Graduate) and Post Docs
Deric Cheung Deric Cheung (M.Sc. - UAHJIC)
Caio Salvador Rohwedder Caio Salvador Rohwedder (Ph.D. - UAHJIC)
Reza Ghanbari Reza Ghanbari (M.Sc. - UAHJIC) Quinn Pham Quinn Pham (M.Sc. - IBM CAS)

Students (Undergraduate)
Chase Johnson (B.Sc.)
Summer 2023
Farel Lukas (B.Sc.)
Summer 2023
Liam Houston (B.Sc.)
Summer 2023
Andy Yu (B.Sc.)
Summer 2023
Rajan Maghera (B.Sc.)
Summer 2023
Teaching
CMPUT 229
Computer Organization and Architecture I
CMPUT 329
Computer Organization and Architecture II
CMPUT 429
Computer Systems and Architecture
CMPUT 603
Teaching and Research Methods
CMPUT 680
Compiler Design and Optimization
CMPUT 605-JiT
Advanced Topics in Compilers: Dynamic Re-Compilation

Publications
Compiler Design and Implementation Multi-Threaded Architectures and Programming Models High-Performance Computing
Parallel Architectures for Symbolic Processing Combinatorial Optimization Problems Theory and Applications of Artificial Neural Networks
Engineering and Computing Science Education Design for Testability Cache-Conscious Algorithms
Internet Protocol Routing Caches

Alumni (Graduate)
Nathan Henderson Nathan Henderson (M.Sc.)
Thesis: On Policy Decisions of Polymorphic Inline Caches in Dynamically-Typed Language Implementations
Employment: IBM Canada, Markham, ON
Tyler Gobran Tyler Gobran (M.Sc. - IBM CAS)
Thesis: DASS: Dynamic Adaptive Sub-Target Specialization
Joao Carvalho João Paulo Labegalini de Carvalho (Post-Doc Fellow)
Employment: Qualcomm, Toronto, ON, Canada
Rouzbeh Paktinatkeleshteri Rouzbeh Paktinatkeleshteri (M.Sc. - UAHJIC)
Thesis: Efficient Auto-Vectorization for Control-Flow Dependent Loops through Data Permutation
Employment: Huawei, Markham, ON
Ivan Korostelev Ivan Korostelev (M.Sc., IBM CAS)
Thesis: Efficient Memory Hierarchy Utilization for Matrix Multiplication and Convolution on CPUs
Employment: Synopsis, Calgary, AB
Wyatt Praharenka Wyatt Praharenka (M.Sc. - UAHJIC)
Thesis: Optimization of Vector Instructions in Divergent Control Flow on Long-Vector Architectures using Active-Lane Consolidation
Employment: AMD, Toronto, ON
Braedy Kuzma Braedy Kuzma (M.Sc., IBM CAS)
Thesis: Compiler-Only Code Generation for Performant and Modular Matrix-Multiplication Micro Kernels Using Matrix Engines
Employment: Archiact
David Pankratz David Pankratz (M.Sc. - UAHJIC)
Thesis: Data-Driven Analysis and Design of Vulkan Ray-Tracing Applications using Automatic Instrumentation
Employment: Stability AI, Toronto, ON
Erick Ochoa Erick Ochoa (M.Sc. - IBM CAS)
Thesis: Guiding Inlining Decisions Using Post-Inlining Transformations
Co-Supervisor: Karim Ali
Employment: Xanadu, Toronto, ON
Marcus Karpoff Marcus Karpoff (M.Sc. - MITACS)
Thesis: Portable Software Update: A Framework for Dynamic Software Updates in C-Language Programs
Employment: Amazon, Vancouver
Artem Chikin Artem Chikin (M.Sc. - IBM CAS)
Thesis: Compiler-Driven Performance on Heterogeneous Computing Platforms
Employment: Apple Corporation, Cupertino
Taylor Lloyd Taylor Lloyd (M.Sc. - IBM CAS)
Thesis: Program Analysis and Compiler Transformations for Computational Accelerators
Employment: Cruise, Seattle
Juan Salamanca Guillen Juan Salamanca Guillen (Ph.D. - Unicamp - FAPESP)
Cosupervisor: Guido Araujo
Thesis: Thread-Level Speculation on Hardware Transactional Memory Architectures
Martin Ichilevici de Oliveira Martin Ichilevici de Oliveira (M.Sc. - Unicamp - FAPESP)
Cosupervisor: Guido Araujo
Thesis: PTB: An Integrated Page, Thread and Bandwidth Allocation Approach for NUMA Architectures
Employment: Eideticom, Calgary
Marcio Machado Pereira Marcio Machado Pereira (Ph.D. - Unicamp - SWB)
Thesis: Scheduling and Serialization Techniques for Transactional Memories
Employment: Post-Doctoral at Unicamp
Cosupervisor: Guido Araujo
Jeeva Paudel Jeeva Paudel (Ph.D. - AIF)
Thesis: Optimizing Task Distribution and Shared-Variable Accesses in an Asynchronous-Partitioned-Global-Address-Space Programming Model
Employment: Qualcomm (Santa Clara) GPU Compiler Team
You Li You Li (M.Sc. - IBM CAS Alberta AIF)
Thesis: Trading Consistency for Synchronization Cost Reduction in Real-time On-Line Analytical Processing (OLAP) Systems
Matthew Gaudet Matthew Gaudet (M.Sc. - IBM CAS NSERC)
Thesis: Serialization Management Driven Performance in Best-Effort Hardware Transactional Memory Systems
Employment: Mozilla
Iain Ireland Iain Ireland (M.Sc. - AIF)
Thesis: SafeType: Detecting Type Violations for Type-Based Alias Analysis of C
Employment: Mozilla
Michail Alvanos Michail Alvanos (Ph.D. - Barcelona Supercomputing Center)
Thesis: Optimization techniques for fine-grained communication in PGAS environments
Cosupervisor: Xavier Martorell , Montse Farreras
Employment: XM Financial Services
Arnamoy Bhattacharyya Arnamoy Bhattacharyya (M.Sc.)
Thesis: Do Inputs Matter Using Data-Dependence Profiling to Evaluate Thread Level Speculation in the BlueGeneQ
Employment: Qualcomm, Toronto, ON, Canada
Paul Berube Paul Berube (Ph.D. - NSERC)
Thesis: Methodologies for May-Input Feedback-Directed Optimization
Employment: Emc2
Ricardo N. Sanchez Ricardo N. Sanchez (M.Sc. - IBM CAS)
Thesis: Applying Support Vector Machines to Discover Method-Specific Compilation Strategies
Cosupervisor: Duane Szafron
Employment: Taghos Tecnologia
Carolina Simoes Gomes Carolina Simoes Gomes (M.Sc. - IBM CAS)
Thesis: Heavyweight Pattern Mining in Attributed Flow Graphs
Employment: Square, Toronto
Xunhao Li Xunhao Li (M.Sc.)
Thesis: JiT4OpenCL A Compiler from Python to OpenCL
Employment: Ethereum Classic Labs
Adam Jocksch Adam Jocksch (M.Sc. - IBM CAS)
Thesis: Data Mining Flow Graphs in a Dynamic Compiler
Employment: Blackberry
Rahul Garg Rahul Garg (M.Sc.)
Thesis: Python programs on graphic processing units
Employment: Google
Christopher Barton Christopher Barton (Ph.D.)
Thesis: Improving access to shared data in Partitioned Global Address Space programming model
Employment: IBM Canada Software Laboratory
Stephen Curial Stephen Curial (M.Sc.)
Thesis: Automatic Data Structure Splitting in a Production Compiler
Employment: CTO at Jungle Scout
Johnny Huynh Johnny Huynh (M.Sc.)
Thesis: Minimizing Address-Computation Overhead
Employment: Alberta Blue Cross
Soraya Kasnavi Soraya Kasnavi (M.Sc.)
Thesis: Content Addressable Memory-Based Circuits for Internet Protocol Routers: A Cache and Lookup Table
Cosupervisor: Vincent Gaudet
Employment: Instagram, Melo Alto, CA
Shane Brewer Shane Brewer (M.Sc.)
Thesis: Applicability of Method Specialization Techniques to Java
Employment: Coinbase, Issaquah, WA
Paul Berube Paul Berube (M.Sc. - NSERC)
Thesis: Aestimo A Feedback-Directed Optimization Evaluation Tool
Employment: Dell Corporation
Peng Zhao Peng Zhao (Ph.D.)
Thesis: Code and Data Outlining
Employment: Google
Angela French Angela French (M.Sc.)
Thesis: A Study of Later Phase Static Single Assignment in the Open Research Compiler
Employment: Consilient Technologies Corp.
Christopher Barton Christopher Barton (M.Sc.)
Thesis: Code Transformations to Augment the Scope of Loop Fusion in a Production Compiler
Employment: IBM Canada Software Laboratory

Alumni (UnderGraduate Research Students)
Yufei Chen (B.Sc.)
Summer 2022
Vedant Vyas (B.Sc.)
Summer 2022
Dhanrajbir Singh Hira (B.Sc.)
Summer 2022
Rajan Maghera (B.Sc., NSERC USRA)
Summer 2022
Patrick Zijlstra (B.Sc.)
Summer 2022
Emily Vandermeer (B.Sc., NSERC USRA)
Summer 2021
Jason Sommerville (B.Sc.)
Summer 2021
Giancarlo Pernudi Segura (B.Sc.)
Summer 2021
Danila Seliayeu (B.Sc.)
Summer 2021
Quinn Pham Quinn Pham (B.Sc.)
Summer 2020
Noah Gergel Noah Gergel (B.Sc.)
Summer 2020
Deric Cheung Deric Cheung (B.Sc.)
Summer 2020
Tyler Gobran Tyler Gobran (B.Sc.)
Summer 2019
Abdulrahman Alattas Abdulrahman Alattas (B.Sc.)
Summer 2019
Mehrab Mehdi Islam Mehrab Mehdi Islam (B.Sc.)
Summer 2019
David Pankratz David Pankratz (B.Sc. - NSERC USRA)
Summer 2019
Joshua Sabet Joshua Sabet (B.Sc. - NSERC USRA)
Winter/Summer 2019
Zachary Selk Zachary Selk (B.Sc.)
Summer 2019
Taylor Zowtuk Taylor Zowtuk (B.Sc.)
Summer 2019
Jason Cannon Jason Cannon (B.Sc.)
Summer 2018
Muhammad Usman Muhammad Usman (B.Sc.)
Summer 2018
Kristen Newbury Kristen Newbury (B.Sc.)
Summer 2017
Braedy Kuzma Braedy Kuzma (B.Sc.)
Summer 2017
Austin Crapo Austin Crapo (B.Sc.)
Summer 2017
Ramiro Campos Ramiro Campos (B.Sc. - Instituto Tecnologico Y de Estudios Superiores de Monterrey)
Summer 2017
Dhruv Jain Dhruv Jain (B.Sc. - Indian Institute of Technology Kharagpur)
Summer 2017
Sanket Kedia Sanket Kedia (B.Sc. - Indian Institute of Technology Kharagpu)
Summer 2017
Erick Ochoa Erick Ochoa (B.Sc.)
Summer, 2016
Joao Hoffman João Henrique Stange Hoffman (Undergrad - Science Without Borders)
Summer, 2016
Morgan Redshaw Morgan Redshaw (B.Sc. - NSERC USRA)
Summer, 2015
Dylan Ashley Dylan Ashley (B.Sc. - NSERC USRA)
Summer, 2015
Sean Baergen Sean Baergen (B.Sc. - NSERC USRA)
Summer, 2015
Marcus Karpoff Marcus Karpoff (B.Sc.)
Summer, 2015
Elliot Colp Elliot Colp (B. Sc. - NSERC USRA)
Summer, 2014
Caian Benedicto Caian Benedicto (B. Sc. - Unicamp - SWB)
Summer, 2014
Calvin Beck Calvin Beck (B. Sc.)
Summer, 2014
Adarsh Chauhan Adarsh Chauhan (B. Sc. - IIT Kanpur - MITACS)
Summer, 2014
Diogo Renno Diogo Renno (Undergrad - Science Without Borders - UFMG)
Summer, 2013
Bruno Rosa Bruno Rosa (Undergrad - Science Without Borders - Unicamp)
Summer, 2013
George Ribeiro George Godin Ribeiro (Undergrad - Science Without Borders - Unicamp)
Summer, 2013
Taylor Lloyd Taylor Lloyd (Undergrad - NSERC USRA)
Summer, 2013
Sriseshan Srikanth Sriseshan Srikanth (Undergrad - MITACS Global Link -
Indian Institute of Technology Madras)

Summer, 2013
Alumni (Visiting Students)
Rafael Cardoso Fernandes Sousa Rafael Cardoso Fernandes Sousa (Ph.D. - Unicamp, Brazil)
Supervisor: Guido Araujo

My Cooking Recipe Collection
I have a collecion of cooking recipes called From Nelson's Kitchen
A coleção também está disponível em Português com o nome Da Cozinha do Nelson.

Distinguished Visits to Alberta
Guang R. Gao
University of Delaware
April 09, 2002
Rajiv Gupta
University of Arizona
June 03, 2002
Laurie Hendren
McGill University
January 28, 2002
Susan Horwitz
University of Wiscosin
April 28, 2002
Bob Blainey
IBM Toronto Laboratory
March 26, 2002
Sun Chan
Intel Corporation
April 22, 2002
Mike Barnett
Microsoft Research
January 25, 2002
Yale Patt
The University of Texas at Austin
October 21, 2002
Kevin Stoodley
IBM Toronto Laboratory
April 01 2003
Barbara Ryder
Rutgers University
March 02, 2004
Sandhya Dwarkadas
University of Rochester
March 19, 2004
David Padua
University of Illinois at Urbana-Champaign
April 15, 2005
Saman Amarasinghe
Massachusetts Institute of Technology
November 20, 2006
Sid Chatterjee
IBM Austin Research Laboratory
April 21, 2008
Jens Palsberg
University of California at Los Angeles (UCLA)
September 24, 2008

I am from the Gaucho land in the State of Rio Grande do Sul in the South of Brazil . My native language is Portuguese.