All Projects → LukeRoantree4815162342 → QUB_DW_HighPerformancePython

LukeRoantree4815162342 / QUB_DW_HighPerformancePython

Licence: GPL-3.0 license
Code and more for the QUB Development Weeks event 'High Performance Python'

Programming Languages

Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to QUB DW HighPerformancePython

Tf Quant Finance
High-performance TensorFlow library for quantitative finance.
Stars: ✭ 2,925 (+3602.53%)
Mutual labels:  high-performance, high-performance-computing
minstant
Performant time measuring in Rust
Stars: ✭ 109 (+37.97%)
Mutual labels:  high-performance, high-performance-computing
gblastn
G-BLASTN is a GPU-accelerated nucleotide alignment tool based on the widely used NCBI-BLAST.
Stars: ✭ 52 (-34.18%)
Mutual labels:  high-performance, high-performance-computing
Hipsycl
Implementation of SYCL for CPUs, AMD GPUs, NVIDIA GPUs
Stars: ✭ 377 (+377.22%)
Mutual labels:  high-performance, high-performance-computing
Nnpack
Acceleration package for neural networks on multi-core CPUs
Stars: ✭ 1,538 (+1846.84%)
Mutual labels:  high-performance, high-performance-computing
Blis
BLAS-like Library Instantiation Software Framework
Stars: ✭ 859 (+987.34%)
Mutual labels:  high-performance, high-performance-computing
Clojurecl
ClojureCL is a Clojure library for parallel computations with OpenCL.
Stars: ✭ 266 (+236.71%)
Mutual labels:  high-performance, high-performance-computing
Libflame
High-performance object-based library for DLA computations
Stars: ✭ 197 (+149.37%)
Mutual labels:  high-performance, high-performance-computing
vpic
Vector Particle-In-Cell (VPIC) Project
Stars: ✭ 124 (+56.96%)
Mutual labels:  high-performance, high-performance-computing
scipy-crash-course
Material for a 24 hours course on Scientific Python
Stars: ✭ 98 (+24.05%)
Mutual labels:  numba
integrated-manager-for-lustre
Integrated Manager for Lustre
Stars: ✭ 64 (-18.99%)
Mutual labels:  high-performance
docker-redis-haproxy-cluster
A Redis Replication Cluster accessible through HAProxy running across a Docker Composed-Swarm with Supervisor and Sentinel
Stars: ✭ 44 (-44.3%)
Mutual labels:  high-performance
BenchmarksPythonJuliaAndCo
Benchmark(s) of numerical programs with Python (and Scipy, Pythran, Numba), Julia and C++.
Stars: ✭ 19 (-75.95%)
Mutual labels:  numba
MKLSparse.jl
Make available to Julia the sparse functionality in MKL
Stars: ✭ 42 (-46.84%)
Mutual labels:  high-performance
MHPC-Natural-Language-Processing-Lectures
This is the second part of the Deep Learning Course for the Master in High-Performance Computing (SISSA/ICTP).)
Stars: ✭ 33 (-58.23%)
Mutual labels:  high-performance-computing
pykafarr
A high-performance Python Kafka client. Efficiently from Kafka to Pandas and back.
Stars: ✭ 32 (-59.49%)
Mutual labels:  high-performance
mydpdkdns
dns server with high performance, based on dpdk.
Stars: ✭ 41 (-48.1%)
Mutual labels:  high-performance
colmena
Library for steering campaigns of simulations on supercomputers
Stars: ✭ 32 (-59.49%)
Mutual labels:  high-performance-computing
SpinParser
Pseudofermion functional renormalization group solver for (frustrated) quantum magnets in two and three spatial dimensions.
Stars: ✭ 19 (-75.95%)
Mutual labels:  high-performance-computing
linnea
Linnea is an experimental tool for the automatic generation of optimized code for linear algebra problems.
Stars: ✭ 60 (-24.05%)
Mutual labels:  high-performance-computing

QUB Development Weeks: High Performance Python

Code and more for the QUB Development Weeks event 'High Performance Python'


Getting Started:

  1. Check if Anaconda is installed - this isn't essential in general for using Python, as there is other ways to set up and use Python, but to avoid runing into versioning problems between different Python / library distributions I'm standardising this course with conda environments.

This means you'll be installing the same version of Python as I'm using as I give this course, as well as the same versions of the same external packages that I use - in a temporary virtual environment that won't mess up any other Python installs you have.

To check if anaconda is installed properly, open a terminal (Windows - search Command Prompt or git-bash, MacOS - search terminal, linux - you know how)

In the terminal run "conda list". If you get a list of packages, or even anything other than "no command found" or similar - you're all good!

Close the terminal now.

  1. If not already installed, download and install Anaconda

  2. At this point I'll assume I've shown you how to download / clone this repository (or you already knew how and did it yourself). Open a terminal in this directory (where this repository is):

Windows - in file manager, navigate to this repo, right click anywhere and click 'command prompt here'

MacOS - in Finder, navigate to this repo, then (top left of screen) click 'Finder'->Services->'new Terminal at Folder'

Linux - cd to this repo

and run "conda create --name qubcourse --file conda_package_list.txt python=3.7.5", which will create a new virtual environment, with a specific version of Python, and will install the same versions of the same packages I had installed when I made this course.

This will take a while, so I'll probably have started going through the earlier parts of the course during these downloading and installing.

  1. In your terminal, run "conda activate qubcourse". This tells it to use the virtual environment we made a minute ago. When we're done, we can run "conda deactivate" to go back to the way things were before.

  2. In your terminal, still in this directory, run "jupyter notebook" - this should cause a webpage to open, with a list of what's in this directory. To start with, click on the 'PythonRefresher.ipynb' link.

That's us fully set up and started!


Note: In 2019 split into 'Python Refresher Course' (winter) and 'High Performance Python' (summer) due to length of additional content

Stable: Python Refresher

Unstable / Untidy: High Performance Sections (mostly tidy enough)


2019 Updates Now Out


Python Refresher Course Overview:

Commenting

Basic Data Types

Conditional Logic & Basic Loops

Comprehensions

Functions & Lambdas

Intro to OOP Python

Generators & Iterators

Handling Files

Numpy & Scipy

Pandas

Matplotlib

Scikit-Learn

Free External Resources (IDEs, Books, Library / Domain-Specific Tutorials, List of Useful Libraries)

QUB Logo

Team Members

First Name Last Name 2018 2019
Conor Duffy Y N
Silas O'Toole Y N
Luke Roantree Y Y

Special thanks to:

  • Dr. Garbriele De Chiara - for helping organise the event and booking the computer suites

  • Victoria Coulter - for obtaining funding, setting up the registration, and more


What This Doesn't Cover:

Python Refresher:

Interacting with computer via os and sys (2019 Updates touch on some)

Installing extra libraries

Machine learning libraries other than Sklearn


High Performance Python summer-2019 release updates to include:

Multi-Threading

Parallel Processing (joblib and mpi4py)

Cython other than via Jupyter Notebook

Pythran

f2py

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].