Python in High Performance Computing

Jussi Enkovaara, Partnership for Advanced Computing in Europe (PRACE)

Speed up Python programs using optimisation and parallelisation techniques

The Python programming language is popular in scientific computing because of the benefits it offers for fast code development. The performance of pure Python programs is often suboptimal, but there are ways to make them faster and more efficient.

On this course, you’ll find out how to identify performance bottlenecks, perform numerical computations efficiently, and extend Python with compiled code. You’ll learn various ways to optimise and parallelise Python programs, particularly in the context of scientific and high performance computing.

The course is designed for Python programmers who want to speed up their codes. You should be familiar with the basics of the Python programming language.

The software needed is in the virtual machine that you will need to download and run to complete this course. You will also need a local machine with 15GB free disk space and 2GB RAM.

Optionally, you can receive instructions to install the Python environment utilised in the course (Python, Numpy, Cython, mpi4py).

Dates:
  • 9 September 2019
Course properties:
  • Free:
  • Paid:
  • Certificate:
  • MOOC:
  • Video:
  • Audio:
  • Email-course:
  • Language: English Gb

Reviews

No reviews yet. Want to be the first?

Register to leave a review

Show?id=n3eliycplgk&bids=695438
NVIDIA
More on this topic:
Small-icon.hover Digital Signal Processing
Learn the fundamentals of digital signal processing theory and discover the...
Highperformancecomputingima High Performance Scientific Computing
Programming-oriented course on effectively using modern computers to solve scientific...
6.00x-listing-banner 6.00x: Introduction to Computer Science and Programming
6.00x is an Introduction to computer science as a tool to solve real-world analytical...
Chapter3_final-copy Finding Hidden Messages in DNA (Bioinformatics I)
This course begins a series of classes illustrating the power of computing in...
Feamstercourseimage Software Defined Networking
In this course, you will learn about software defined networking and how it...
More from 'Computer Science':
Banner A Gentle Introduction to Python
Mechanical MOOC is two things: A massive open online course (MOOC), and an experiment...
M4dcoursesitebanner Mobiles for Development
Mobile devices, phones as well as Tablet computers, have been spreading fast...
Regular_c6b19e1d-17ac-4cec-aa57-fc818869b3fd Social Media in Healthcare: Opportunities and Challenges
Understand how social media is used in healthcare, to improve communication...
Regular_abf906a7-d0dd-4a3e-8bc4-0ea8861ec9f3 More Data Mining with Weka
Learn more about practical data mining, including how to deal with large data...
Regular_aa5a7351-0b70-438e-83f9-187896c71c0a Game Design and Development: Video Game Character Design
How and why do video gamers identify with the characters they control? Find...
More from 'FutureLearn':
Regular_36acb345-60b5-4928-94e7-cd02c6cdf9b4 Discover Dentistry
An entertaining and illuminating course for everyone to explore the impact dentistry...
Regular_1773392a-c546-49f6-b52a-bee15ce2a57a Inside Cancer: How Genes Influence Cancer Development
Understand how genetics influence the development and spread of cancer, with...
Regular_fea9b9a3-bed1-4ec2-9af6-ba1148e29aea Hadrian's Wall: Life on the Roman Frontier
Explore the archaeology of the most heavily fortified frontier in the Roman...
Regular_e16aaa55-5f57-43f6-801f-cccc179f1e21 How to Succeed at: Interviews
This free three week course provides the tools you need to succeed at interviews...
Regular_d7ef63d4-5ee9-409f-9b5f-be27016bc9eb Religion and Conflict
Understand and analyse the role of religion in conflicts and peacebuilding in...

© 2013-2019