This will be the first in a series of workshops on Parallel Programming as part of the iHub Cluster's efforts to spread use of HPC's in Kenya's markets. The session starts at 9 am and ends at 12 pm at the iHub Cluster, 1st Floor, Bishop Magua building.
There will be a short overview presentation on what the Cluster has been up to, which projects are running and how you can help.
The workshops will be conducted by Conrad Akunga, a seasoned entrepreneur, Software Developer who is also a Microsoft MVP (Most Valued Professional) for several years running.
Below is the curriculum:
Attendance Requirements & Considerations
- What is parallel programming
- Need for performance
- Barriers in traditional programming
- Concurrency, parallelism & distribution
- Opportunities (security, data mining, AI, multimedia, modeling, etc)
- Parallel hardware and software
- Basics (caches, memory, instruction parallelism)
- Processes, tasks & threads
- SIMD, MIMD, interconnected networks
- Issues for consideration & performance
- Shared memory programming with threads
- Creating, starting, stopping, suspendng
- Shared data structures
- Controlling access to data structures (semaphores, locks, mutexes, etc)
- Thread safety
- Shared memory programming with OpenMP
- Other shared memory programming models
- Distributed memory programming (MPI)
- Parallel program development
Snacks will be served.
- Basic appreciation of programming
- Note taking
- Code samples will be in C++, C#, F# &VB.NET