Player FM - Internet Radio Done Right
Checked 18d ago
eighteen 週前 前追加した
コンテンツは Peter Schmidt によって提供されます。エピソード、グラフィック、ポッドキャストの説明を含むすべてのポッドキャスト コンテンツは、Peter Schmidt またはそのポッドキャスト プラットフォーム パートナーによって直接アップロードされ、提供されます。誰かがあなたの著作物をあなたの許可なく使用していると思われる場合は、ここで概説されているプロセスに従うことができますhttps://ja.player.fm/legal。
Player FM -ポッドキャストアプリ
Player FMアプリでオフラインにしPlayer FMう!
Player FMアプリでオフラインにしPlayer FMう!
UCL for Code in Research
すべての項目を再生済み/未再生としてマークする
Manage series 3624244
コンテンツは Peter Schmidt によって提供されます。エピソード、グラフィック、ポッドキャストの説明を含むすべてのポッドキャスト コンテンツは、Peter Schmidt またはそのポッドキャスト プラットフォーム パートナーによって直接アップロードされ、提供されます。誰かがあなたの著作物をあなたの許可なく使用していると思われる場合は、ここで概説されているプロセスに従うことができますhttps://ja.player.fm/legal。
The companion podcast for courses on programming from the Advanced Research Computing Centre of the University College of London, UK.
11 つのエピソード
すべての項目を再生済み/未再生としてマークする
Manage series 3624244
コンテンツは Peter Schmidt によって提供されます。エピソード、グラフィック、ポッドキャストの説明を含むすべてのポッドキャスト コンテンツは、Peter Schmidt またはそのポッドキャスト プラットフォーム パートナーによって直接アップロードされ、提供されます。誰かがあなたの著作物をあなたの許可なく使用していると思われる場合は、ここで概説されているプロセスに従うことができますhttps://ja.player.fm/legal。
The companion podcast for courses on programming from the Advanced Research Computing Centre of the University College of London, UK.
11 つのエピソード
すべてのエピソード
×U
UCL for Code in Research

In this last episode of the companion podcast for the C++ course at UCL , I invited both Klaus Iglberger and Marc Hartung ( Dive , Berlin) to go through some aspects of parallel computing. But also to look a little bit ahead of what's in store for C++ in future standards. And how the language may help you in your career. Links: https://www.youtube.com/watch?v=NReDubvNjRg&list=PLY_qIufNHc2-Dk9IVNtgoF4uhKRszjJPz Cpp Conference (Cpp Con) Back to basics YouTube 2023 https://www.youtube.com/watch?v=VRGRTvfOxb4&list=PLY_qIufNHc2950NLOeUFuO0DsqjAZ6cG0 Cpp Conference (Cpp Con) Back to basics YouTube 2024 https://cppcast.com/ A podcast dedicated to all things C++ https://adspthepodcast.com/ ADSP (Algorithms + Data Structures = Programs) Podcast https://learning.oreilly.com/library/view/c-software-design/9781098113155/ Klaus Iglberger's book on "C++ Software Design" https://blogs.fau.de/hager/hpc-book HPC book with lots of material on parallel computing Georg Hager, Gerhard Wellein I'd like to thank UCL and the UCL Advanced Research Computing Centre for their support and creating this show. In particular David Perez-Suarez, Michael McLeod and Mashy Green. 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…
U
UCL for Code in Research

1 9/10 - Distributed Memory and Parallel Computing 38:10
38:10
「あとで再生する」
「あとで再生する」
リスト
気に入り
気に入った38:10
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 homepage https://docs.open-mpi.org/ the docs for OpenMPI https://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 memory https://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 Neumann https://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 solution https://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…
U
UCL for Code in Research

Parallel programming is a huge, exciting and evolving field. Together with my guest Marc Hartung from Dive in Berlin, Germany, we try to cover some aspects of it: including OpenMP, how to synchronise data etc. Links: https://en.cppreference.com/w/cpp/language/memory_model the C++ memory model https://www.openmp.org OpenMP home page https://www.openmp.org/resources/openmp-compilers-tools/ Compilers for OpenMP https://gcc.gnu.org/projects/gomp/ the GNU OpenMP compiler https://en.wikipedia.org/wiki/Amdahl%27s_law Amdahl's "law" https://dl.acm.org/doi/pdf/10.1145/1465482.1465560 the paper from Amdahl https://en.wikipedia.org/wiki/Threading_Building_Blocks TBB https://github.com/uxlfoundation/oneTBB GitHub link for TBB https://eigen.tuxfamily.org/dox/TopicMultiThreading.html Eigen https://help.rc.ufl.edu/doc/Memory:_Shared_vs_Distributed one of the links discussing shared and distributed memory in parallel computing 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…
U
UCL for Code in Research

1 7/10 Oh please, make it faster...performance in C++ 31:41
31:41
「あとで再生する」
「あとで再生する」
リスト
気に入り
気に入った31:41
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 access https://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 profiler https://www.intel.com/content/www/us/en/developer/tools/oneapi/vtune-profiler.html vtune profiler https://ftp.gnu.org/old-gnu/Manuals/gprof-2.9.1/html_mono/gprof.html gprof profiler from GNU https://quick-bench.com Quick online Benchmarking tool https://godbolt.org see what your compiler actually does https://github.com/google/googletest Google C++ test framework https://github.com/boost-ext/ut UT test framework https://github.com/google/benchmark Google benchmark tool https://github.com/catchorg/Catch2 catch2 framework https://learn.microsoft.com/en-us/visualstudio/profiling Profiling with Visual Studio Misc https://medium.com/swlh/reliable-performance-testing-in-c-1df7a3ba398 article on performance testing https://scholarworks.umt.edu/cgi/viewcontent.cgi?referer=&httpsredir=1&article=1375&context=tme Historical review of complexity evaluations https://web.mit.edu/16.070/www/lecture/big_o.pdf The Big O Notation 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…
U
UCL for Code in Research

1 6/10 The code you're looking for is in ... the library 33:30
33:30
「あとで再生する」
「あとで再生する」
リスト
気に入り
気に入った33:30
Software libraries play a crucial role in software development, and C++ is no exception. Klaus and I walk through the different aspects of building, using and selecting libraries. Links: https://cmake.org CMake tool https://en.wikipedia.org/wiki/Library_(computing) write up on software libraries with a bit of history https://en.wikipedia.org/wiki/Executable_and_Linkable_Format the ELF Format for shared libs (executable and linkable format) https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/Link-Options.html Link options of the g++ compiler https://www.toptal.com/c-plus-plus/c-plus-plus-understanding-compilation An overview of how compilation works https://cplusplus.com/articles/Gw6AC542/ a write up on headers and includes - with a mention of header guards https://en.wikipedia.org/wiki/Z23_(computer) the Zuse Z23 computer I mentioned Oh, and the title is inspired by a book from the Japanese author M Aoyama called 'What You're Looking For Is In The Library'. https://en.wikipedia.org/wiki/What_You_Are_Looking_For_Is_in_the_Library 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…
U
UCL for Code in Research

Here we touch on some ways to build classes in C++ and how class design such as class hierarchies can help to make code more readable, more maintainable and less error prone (amongst other things). Klaus Iglberger and I also touch on design patterns and briefly what other programming paradigms exist apart from object oriented programming (OOP). Links https://medium.com/javascript-scene/the-forgotten-history-of-oop-88d71b9b2d9f The forgotten history of OOP https://medium.com/@ryan_forrester_/struct-inheritance-in-c-comprehensive-guide-2027689d10ed structs and classes https://www.enterpriseintegrationpatterns.com/index.html Enterprise Integration Patterns by Gregory Hohpe https://martinfowler.com Martin Fowler author of so many books, including one on enterprise patterns https://martinfowler.com/bliki/GangOfFour.html Martin F's write-up of the Gang of Four book https://en.wikipedia.org/wiki/Design_Patterns Wiki page on the book 'Design Patterns - Elements of Reusable Object Oriented Software' written by E Gamma, R Helm, R Johnson and J Vlissides. https://openlibrary.org/books/OL7408317M/Design_Patterns https://www.amazon.co.uk/Software-Design-Principles-Patterns-High-Quality/dp/1098113160 book by Klaus Iglberger: "C++ Software Design: Design Principles and Patterns for High-Quality Software" 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…
Inheritance, templates, function overloading - they all fall into the category of polymorphism in programming. My guest Klaus Iglberger and I discuss the different aspects of how this could be done with C++. Links https://www.stroustrup.com/glossary.html#Gpolymorphism Glossary provided by Bjarne Stroustrup https://cplusplus.com/doc/tutorial/polymorphism/ https://ics.uci.edu/~jajones/INF102-S18/readings/05_stratchey_1967.pdf Christian Strachey's article where he introduces polymorphism https://dl.acm.org/doi/pdf/10.1145/6041.6042 Article by Cardelli and Wegner On Understanding Type, Data Abstraction and Polymorphism https://en.wikipedia.org/wiki/Virtual_method_table virtual tables (vtables) https://pabloariasal.github.io/2017/06/10/understanding-virtual-tables/ https://www.geeksforgeeks.org/vtable-and-vptr-in-cpp/ https://belaycpp.com/2021/10/01/history-of-c-templates-from-c-style-macros-to-concepts/ A history of templates https://www.stroustrup.com/dne.html Bjarne Stroustrup: the Design and Evolution of C++ 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…
U
UCL for Code in Research

Exceptions are essentials, as are error codes. Writes Bjarnes Stroustrup. And so on our 3rd stop through C++ I talk about what you could do when things go wrong. And what you can do to prevent errors - with testing. My guest is, again Klaus Iglberger. The sounds you're hearing are from the excellent https://sound-effects.bbcrewind.co.uk BBC sound library - free of use for non-commercial purposes. Links: https://en.wikipedia.org/wiki/Exception_handling_(programming) https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1947r0.pdf B Stroustrup's article 'C++ exceptions and alternatives' https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_exceptions.html GNU exception manual https://en.wikipedia.org/wiki/Errno.h the macro https://www.gnu.org/software/libc/manual/html_node/Error-Codes.html https://archive.org/details/working-effectively-with-legacy-code/ Michael Feathers "Working Effectively with Legacy Code" https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0003r0.html#2.0 what went on with C++98 exceptions? https://devblogs.microsoft.com/oldnewthing/20180928-00/?p=99855 another discussion on the "old" exception handling in C++ Tools: https://undo.io/products/undo-c-plusplus/ Undo https://github.com/catchorg/Catch2 Catch2 https://google.github.io/googletest/ Google tests https://github.com/emil-e/rapidcheck RapidCheck property based testing 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…
U
UCL for Code in Research

1 2/10 Data Types and the world of (smart) pointers 35:29
35:29
「あとで再生する」
「あとで再生する」
リスト
気に入り
気に入った35:29
In the beginnings were...data and data types. Which is where we begin our journey through C++. The language provides for a range of interesting, fundamental, complex and custom types - one of which is a set of pointer types. My guest in this episode is Marc Hartung from Dive in Berlin, Germany. Links: https://en.wikipedia.org/wiki/Pointer_(computer_programming) summary of what pointers are https://en.wikipedia.org/wiki/Address_(programming_language) one of the early uses of pointers in the APL language https://en.wikipedia.org/wiki/Memory_management article on memory management https://learn.microsoft.com/en-us/cpp/cpp/type-conversions-and-type-safety-modern-cpp an article on type conversion https://gcc.gnu.org/onlinedocs/gcc/_005f_005fint128.html GCC compiler and support for 128bit integers https://en.wikipedia.org/wiki/C%2B%2B_Standard_Library C++ Standard Library https://dl.acm.org/doi/pdf/10.1145/242604.242613 Ań article on how the C++ Standard Library emerged https://en.wikipedia.org/wiki/Standard_Template_Library the Standard Template Library (not to be confused with the C++ Standard Lib) 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…
U
UCL for Code in Research

This first episode is about introducing C++, where it started, how it evolved. You will hear from 2 practitioners: Klaus Iglberger (C++ coach/trainer) and Marc Hartung (tech lead at Dive in Berlin). Here are a few links for you to follow up on: https://www.stroustrup.com The Home Page of Bjarne Stroustrup who created C++. There are plenty of links for you to follow https://isocpp.org/std/the-standard The C++ standard homepage https://www.mn.uio.no/tjenester/it/hjelp/programvare/simula/versions/simula-1967/commonbasedefinition1967.pdf the specs of Simula 67, still available online. Simula inspired B Stroustrup for C++ https://www.divecae.com Dive the company Marc Hartungs works at who produce simulation software (hydrodynamics) https://github.com/igl42 Klaus Iglberger's GitHub 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…
U
UCL for Code in Research

Welcome to the new podcast from the Advanced Research Computing Centre of the University College London, UK. A companion podcast for courses on Research Computing at UCL. In this first season we'll be presenting the course on Research Computing with C++. And this short teaser explains how it all works. Have fun! 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…
プレーヤーFMへようこそ!
Player FMは今からすぐに楽しめるために高品質のポッドキャストをウェブでスキャンしています。 これは最高のポッドキャストアプリで、Android、iPhone、そしてWebで動作します。 全ての端末で購読を同期するためにサインアップしてください。