Ehsan Yousefzadeh

Ehsan Yousefzadeh


HPCAN Lab,
Department of Computer Engineering,
Sharif University of Technology, Azadi Avenue,
Tehran, Iran (11155 - 11365)
Check On Map

About Me

‐ I graduated with a master's degree in Computer Engineering - Computer Architecture from Sharif University of Technology, Tehran, Iran. My primary field of interest is Computer Architecture, particularly parallel computing systems and energy-efficient designs and their application in embedded and heterogeneous systems. Additionally, I am perfectly willing to work and research on hardware accelerators, especially for ML and NN applications.
‐ During my master's years, I conducted extensive research on designing and implementing an energy efficient design for on-chip memories of GPUs that resulted in two submissions to the IEEE CAL 2020 and then to the TPDS 2021. For my first submission experience, my paper got rejected. Then, I worked on its journal version and submitted it to the TPDS 2021 recently.
‐ My CV can be downloaded from here

Education

◇ Sharif University of Technology, Tehran, Iran

⬥ M. Sc. in Computer Engineering - Computer Architecture (2016 - 2018)

‐ Supervisor: Prof. Hamid Sarbazi-azad

‐ Overall GPA: 17.20/20

◇ University of Tabriz, Tabriz, Iran

⬥ B. Sc. in Computer Engineering - Hardware (2012 - 2016)

‐ Supervisor: Prof. Mina Zolfy

‐ Overall GPA: 18.42/20

◇ Shahid Foroughi High School, Miandoab, Iran

⬥ High School Diploma in Mathematics and Physics (2008 - 2012)

‐ Overall GPA: 19.05/20

Honors and Awards

⬗ Ranked 1st in terms of cumulative GPA among Computer Hardware Engineering Students, University of Tabriz (2016)

⬗ Admitted to the M.Sc. program at Sharif University of Technology as an Exceptional Talented Student (2016)

Research Experience

◇ High Performance Computing Architecture & Networks Lab

⬥ Sharif University of Technology, Tehran, Iran

‐ Sep. 2016 - Aug. 2019 | September 2020 - Now

‐ Working under supervision of Prof. Hamid Sarbazi-Azad. The focus of my research has been to introduce an energy efficeint on-chip memories design with negligible performance overhead for GPUs. I proposed and implemented an Unified on-chip memory for shared and global accesses that increases on-chip resources utilization by on-chip resources dynamic management. I implemented and analyzed proposed designs using simulators such as GPGPU-Sim, and self-written C and Python codes. This work resulted in two submissions to the IEEE CAL 2020 and the IEEE TPDS 2021. We've recieved rejection for our first submission. Then, our journal version is submitted to the IEEE TPDS 2021.

‐ Currently, my study focus is on memory consistency and cache coherence protocols, especially for GPUs and heterogeneous systems (CPUs + GPUs + FPGAs).

Skills

Programming Simulation HDLs
  • C/C++
  • CUDA
  • Python
  • Matlab
  • Java
  • Intel x86 and MIPS Assembly
  • HTML, CSS, PHP
  • Altera Quartus II
  • Mentor Modelsim
  • Proteus Design Suite
  • Synopsys Hspice
  • GPGPU-Sim
  • Verilog

Teaching Experience

◇ Sharif University of Technology

⬩ Department of Computer Engineering

Course Role Instructor Term Date
Computer Arch. Lab. Head TA Prof. Sarbazi-Azad Summer 2017
Microprocessor Lab. Head TA Prof. Sarbazi-Azad Fall 2017
Computer Architecture Head TA Prof. Jahangir Spring 2018
Computer Arch. Lab. Head TA Prof. Jahangir Spring, Summer 2018
Microprocessor Lab. Head TA Prof. Jahangir Spring, Summer 2018

◇ University of Tabriz

⬩ Department of Electrical & Computer Engineering

Course Instructor Term Date
Logic Circuit Design. Prof. Mina Zolfy Spring 2016

Some of Projects

– Unified On-chip Memory for Shared and L1 Cache Accesses for GPUs

– For my master's thesis, I implemented a unified on-chip memory to service both the shared memory and level one data cache accesses. I logged the addresses generated by the GPGPUSim simulator, and then I fed them to my designed and implemented on-chip memory in C++ to handle them simultaneously and efficiently.

– Mano's basic computer

– During my bachelor's computer architecture course, I designed and implemented a basic computer (called Mano's basic computer) in the Quartus II Schematics. Then when I was doing my master's, and I was a computer architecture course's TA, I implemented this basic computer in Verilog HDL with more details again.

– Cache with different Configs

– I implemented direct-mapped and set-associative cache for my advanced computer architecture course. Then, I did experiments on it to observe the effects of different policies on hit/ miss rate. It is accessible on my Github page.

– Python Basics, Data Structures, Algorithms Tutorial through Examples on Github

– In my leisure time during my M. Sc.,I worked on preparing easy and sweet tutorials for those who want to learn Python and Data Structures easily. You can check them out on my Github page.

– Web Development Projects

– I worked as a back-end developer in several web development teams. I was preparing queries to the databases to get out the wanted data for the designed forms by the front-end team. Additionally, I was responsible for providing APIs to send the needed data to the mobile programmers. Also, I contributed to a URL Shortener on Github. Recently, I tried to develop an API in golang to ease the job of people who want to write API endpoints in golang, and they don't know how and where to start.

– Design and Implementation of An Efficient Archiving System and some other automation systems in MS

– During my conscription, I designed, implemented, and organized an efficient archiving system in Excel with VBA with regard to the documents type and their transactions. Additionally, most of the work was done manually, so I automotized the processes, which in result we had much more few time.

– Check my GitHub page for more projects!

– For knowing more about my projects, just check my GitHub page

Language Skills

⬥ English: Fluent - The TOEFL test is scheduled for the 30th of April, 2021.

⬥ Azarbayjani: Mother Tongue

⬥ Persian: Native

⬥ Turkish: Fluent

My Interests

◇ Self-Learning

I tend to learn something new through selfs-studying and earn new skills. This helps me to feel more confident and better about myself and my life. In my leisure times, watch tutorial videos on Youtube, KhanAcademy, Udacity etc. What I know about programming, web development, Git, Linux etc. , I learned totally all of them through self-studying and googling.

◇ Reading

– I really love reading novels, and I can call myself a bibliophile or bookworm. My favorite authors are Anton Chekhov, Fyodor Dostoevsky, Mitch Albom, Orhan Pamuk, George Orwell, Albert Camus, and Abbas Maroufi. Some of the books that I liked reading:

The Red-Haired Woman, by Orhan Pamuk
Nineteen Eighty-Four (1984), by George Orwell
Animal Farms, by George Orwell
The Duel, by Anton Chekhov
Three Years, by Anton Chekhov
The Huntsman, by Anton Chekhov
The Gambler, by Fyodor Dostoevsky
White Nights, by Fyodor Dostoevsky
Symphony of the Dead, by Abbas Maroufi
The Five People You meet in Heaven, by Mitch Albom
Tuesdays with Morrie, by Mitch Albom
For one day more, by Mitch Albom
The Stranger, by Albert Camus

◇ Jogging and Exercising


◇ Watching Historical, Science Fiction movies and Documentary Series