Objectives:



Increase of awareness: Enhance understanding of diversity, inclusion, equity, and belonging in the corporate context.



Development of skills: Equip participants with practical strategies to promote inclusivity and mitigate bias.



Collaboration fostering: Encourage teamwork that values diverse perspectives to drive innovation.



Leaadership Empowerment: Enable participants to champion diversity initiatives and foster inclusive environments.



Drive accountability: Establish mechanisms to track progress and ensure commitment to diversity goals.



Learning promotion: Encourage ongoing education and dialogue to sustain a culture of inclusion

    Welcome to Scientific Computing using Python - High Performance Computing in Python (2025) 

    Description

    Many research projects involve scientific computing for analyzing [big] data and/or simulating complex systems. This makes it necessary have a systematic approach to obtaining well-tested and documented code. Further, we see an increased interest in reproducible research, which allows other researchers the opportunity to dig further into research results as well as easy access to results and improving productivity by reusing code and software.

    This is a course in scientific computing using the popular programming language Python. Python is popular in science due to a number of advantages such as having a rich set of libraries for computing and data visualization, excellent performance-optimizing possibilities, standard tools for simple parallel computing, fast development cycle and high productivity – just to name a few. Python is open source and as such an asset for any researcher following the reproducible research paradigm.

    This part of the course covers the main area: High performance computing.

    High performance computing

    1. High-performance computing and computer architectures
    2. Performance optimization
      1. Numba (just in time compilation)
      2. Numba GPU functionality
      3. Other options - superficially: Cython (compiled Python via C-extensions), f2py (inclusion of Fortran code in Python)
    3. Parallel/distributed computing
      1. Theoretical aspects (Amdahl's and Gustafson-Barsis' law)
      2. Parallel computing on one computer
      3. Distributed computing across multiple computers


    Audience: The targeted audience is all PhD students with some experience in Python programming and an interest in developing high-performance Python code for various scientific computing purposes. By this we mean code to solve actual problems where [lots of] floating-point computations are needed.

    Prerequisites: Participants must have some experience in programming Python. If not, there is an introductory course "Scientific Computing using Python - 1. Python + Scientific Computing". Further, some basic skills in general use of a computer are expected. The tools applied work best using Linux or Mac OSX – Microsoft Windows may experience challenges when using parallel computing.

    Criteria for assessment: A pre-specified project must be delivered (4-8 pages description) in addition to the developed code. The code must include testing/validation, and performance evaluation of parallel computing. An acceptable project and at-least 75% participation is required to pass the course.

    Learning objectives: After completing the course the participants will:

    1. Know how to use methods and software for performance optimization.

    2. know when and how to apply parallel computing for scientific computing.

    Organizer and lecturer: Sokol Kosta

    ECTS: 2.0

    Time: 18, 19 June 2025 

    Place: Aalborg University Fredrik Bajers Vej 7C, rom 2-209
    Zip code: 9220

    City: Aalborg

    Number of seats: 25

    Deadline: May 28, 2025

    NB This course is only for PhD Students at Aalborg University


    Important information concerning PhD courses: 

    There is a no-show fee of DKK 3,000 for each course where the student does not show up. Cancellations are accepted no later than 2 weeks before the start of the course. Registered illness is of course an acceptable reason for not showing up on those days. Furthermore, all courses open for registration approximately four months before start of the course.

    To attend courses at the Doctoral School in Medicine, Biomedical Science and Technology you must be enrolled as a PhD student.

    We cannot ensure any seats before the deadline for enrolment, all participants will be informed after the deadline, approximately 3 weeks before the start of the course.

    For inquiries regarding registration, cancellation or waiting list, please contact the PhD administration at phdcourses@adm.aau.dk When contacting us please state the course title and course period. Thank you.