CS-453: Concurrent computingWith the advent of modern architectures, it becomes crucial to master the underlying algorithmics of concurrency. The objective of this course is to study the foundations of concurrent algorithms and in particular the techniques that enable the constructio ...
CS-451: Distributed algorithmsComputing is nowadays distributed over several machines, in a local IP-like network, a cloud or a P2P network. Failures are common and computations need to proceed despite partial failures of machines or communication links. This course will study the fo ...
CS-439: Optimization for machine learningThis course teaches an overview of modern optimization methods, for applications in machine learning and data science. In particular, scalability of algorithms to large datasets will be discussed in theory and in implementation. ...
PHYS-743: Parallel programmingLearn the concepts, tools and API's that are needed to debug, test, optimize and parallelize a scientific application on a cluster from an existing code or from scratch. Both OpenMP (shared memory) and MPI (distributed memory) paradigms are presented and ...
MATH-454: Parallel and high-performance computingThis course provides insight into a broad variety of High Performance Computing (HPC) concepts and the majority of modern HPC architectures. Moreover, the student will learn to have a feeling about what architectures are suited for several types of algorit ...
CS-471: Advanced multiprocessor architectureMultiprocessors are basic building blocks for all computer systems. This course covers the architecture and organization of modern multiprocessors, prevalent accelerators (e.g., GPU, TPU), and datacenters. It includes a research project on multiprocessors ...
MATH-505: HPC for numerical methods and data analysisThe objective of this course is to provide the necessary background for designing efficient parallel algorithms in scientific computing as well as in the analysis of large volumes of data. The operations considered are the most costly steps at the heart of ...
CS-307: Introduction to multiprocessor architectureMultiprocessors are a core component in all types of computing infrastructure, from phones to datacenters. This course will build on the prerequisites of processor design and concurrency to introduce the essential technologies required to combine multiple ...
ME-414: Computational multi-scale modeling of solidsThis course considers the multi-scale computational modeling of hard-matter systems, with an emphasis on the physical phenomena of matter transport and emergent macroscopic mechanical properties, and how their microscopic origin is coarse grained to the en ...
AR-451: Architecture and construction of the city ICe cours propose des approches croisées permettant de clarifier les articulations des différentes échelles (architecturale, urbaine, territoriale). Il se propose d'étudier les modes de constitution d'un lieu par ses relations à ce qui lui est extérieur. ...
BIOENG-450: In silico neuroscience"In silico Neuroscience" introduces students to a synthesis of modern neuroscience and state-of-the-art data management, modelling and computing technologies. ...