Computer architectures for artificial intelligence

Course objectives

General objectives: The goal of Computer Architectures for AI is to give an overview of the available hardware solutions used for the execution of the main AI algorithms. The course starts from the description of general-purpose computing architecture, highlighting its main characteristics and performance limits. After, various hardware solutions for AI useful to overcome the limitations of general-purpose architectures are presented. The related programming paradigms of the different architectures for AI will also be introduced. Specific objectives: The course deals with the main hardware architectures used for AI. In particular, the following architectures will be presented: - Multicore processors and parallel programming paradigm via OpenMP. - GPU and massively parallel programming paradigm via CUDA. - TPU and programming with TensorFlow - FPGA and programming with OpenCL / HLS Knowledge and understanding: The student will acquire knowledge on the organization of the various hardware architectures used for AI. Furthermore, the student will learn how to program such architectures to execute algorithms for AI. Application of knowledge and understanding: The student will be able to develop AI algorithms on different hardware architectures and to evaluate the performances achievable on different architectures. Autonomy of judgment: The student will be able to understand the issues related to programming AI algorithms and to estimate the achievable performance on different hardware architectures. Communication skills: The course does not have explicit objectives on communication skills, except to train in the rigorous exposition of technical topics. Learning ability: The course allows the students to understand the differences between the various hardware architectures for AI and offers the tools to choose the most suitable architecture according to the application scenario.

Channel 1
SALVATORE PONTARELLI Lecturers' profile

Program - Frequency - Exams

Course program
- Computer architecture: introduction - Representation of instructions - Computer Arithmetic - Processor design - Memories - Domain Specific Architectures - Multicore processors and parallel programming with OpenMP. - GPU and massively parallel programming with CUDA. - TPU and programming with TensorFlow - FPGA and programming with OpenCL/HLS
Prerequisites
Basic programming skills
Books
D. Patterson, J. Hennessy - Computer Organization and Design RISC-V Edition: The Hardware Software Interface
Frequency
Attendance not mandatory.
Exam mode
Oral questions on the course topics. In-depth analysis with exexperiments on a selected course topic.
Lesson mode
Face-to-face teaching.
  • Lesson code10605218
  • Academic year2025/2026
  • CourseMathematical Sciences for Artificial Intelligence
  • CurriculumSingle curriculum
  • Year3rd year
  • Semester1st semester
  • SSDINF/01
  • CFU6