UCL for Code in Research

Peter Schmidt

The companion podcast for courses on programming from the Advanced Research Computing Centre of the University College of London, UK. 

  1. ٢٦ مارس

    9/10 - Distributed Memory and Parallel Computing

    Marc Hartung and I will discuss distributed memory in parallel computing in this episode, with tools like OpenMPI. We also discuss some of the hardware aspects around HPC systems and how shared and distributed memory computations differ. Links: https://www.open-mpi.org OpenMPI homepagehttps://docs.open-mpi.org/ the docs for OpenMPIhttps://www.mpi-forum.org The MPI Forum (who write the MPI standard)http://openshmem.org/site/ OpenSHMEM https://en.wikipedia.org/wiki/Distributed_memory summary page on distributed memoryhttps://en.wikipedia.org/wiki/InfiniBand InfiniBand network solution https://www.nextplatform.com/2022/01/31/crays-slingshot-interconnect-is-at-the-heart-of-hpes-hpc-and-ai-ambitions/ Slingshot network solution https://en.wikipedia.org/wiki/Partitioned_global_address_space https://www.techtarget.com/whatis/definition/von-Neumann-bottleneck the bottleneck named after John von Neumannhttps://en.wikipedia.org/wiki/Floating_point_operations_per_second overview of FLOPS (floating point operations per second)https://www.openmp.org/wp-content/uploads/HybridPP_Slides.pdf OpenMP and OpenMPI working together in a hybrid solutionhttps://blogs.fau.de/hager/hpc-book Georg Hager/Gerhard Wellein book on HPC for scientists and engineers Don't be shy - say Hi This podcast is brought to you by the Advanced Research Computing Centre of the University College London, UK. Producer and Host: Peter Schmidt

    ٣٨ من الدقائق
  2. ١٢ مارس

    7/10 Oh please, make it faster...performance in C++

    How can we measure the performance (run-time, memory usage etc) of our C++ code? And what does performance mean, anyway. These and other questions are the topic of this episode - with my guest Klaus Iglberger, C++ engineer, tutor and mentor.  Memory https://en.wikipedia.org/wiki/Non-uniform_memory_access something about memory accesshttps://dl.acm.org/doi/10.1145/216585.216588 Ań article on 'Hitting the memory wall' how fast can memory access be?https://www.ibm.com/docs/en/xl-c-and-cpp-aix/13.1.3?topic=performance-managing-memory-efficiently-c-only what can we do to make memory usage more efficient Tools https://valgrind.org Valgrind profilerhttps://www.intel.com/content/www/us/en/developer/tools/oneapi/vtune-profiler.html vtune profilerhttps://ftp.gnu.org/old-gnu/Manuals/gprof-2.9.1/html_mono/gprof.html gprof profiler from GNUhttps://quick-bench.com Quick online Benchmarking toolhttps://godbolt.org see what your compiler actually doeshttps://github.com/google/googletest Google C++ test frameworkhttps://github.com/boost-ext/ut UT test frameworkhttps://github.com/google/benchmark Google benchmark toolhttps://github.com/catchorg/Catch2 catch2 frameworkhttps://learn.microsoft.com/en-us/visualstudio/profiling Profiling with Visual StudioMisc https://medium.com/swlh/reliable-performance-testing-in-c-1df7a3ba398 article on performance testinghttps://scholarworks.umt.edu/cgi/viewcontent.cgi?referer=&httpsredir=1&article=1375&context=tme Historical review of complexity evaluationshttps://web.mit.edu/16.070/www/lecture/big_o.pdf The Big O NotationDon't be shy - say Hi This podcast is brought to you by the Advanced Research Computing Centre of the University College London, UK. Producer and Host: Peter Schmidt

    ٣٢ من الدقائق

حول

The companion podcast for courses on programming from the Advanced Research Computing Centre of the University College of London, UK.