{"id":1054,"date":"2022-09-06T17:34:32","date_gmt":"2022-09-06T15:34:32","guid":{"rendered":"https:\/\/solmstc.com\/?page_id=1054"},"modified":"2024-06-28T18:20:43","modified_gmt":"2024-06-28T16:20:43","slug":"high-performance-computing-using-rust","status":"publish","type":"page","link":"https:\/\/solmstc.com\/index.php\/training\/high-performance-computing-using-rust\/","title":{"rendered":"High-Performance Computing using Rust course"},"content":{"rendered":"\n<div class=\"wp-block-cover alignfull\"><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim\"><\/span><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1341\" class=\"wp-block-cover__image-background wp-image-2339\" alt=\"\" src=\"http:\/\/solmstc.com\/wp-content\/uploads\/2022\/11\/nutesAndBolts-scaled.jpg\" data-object-fit=\"cover\" srcset=\"https:\/\/solmstc.com\/wp-content\/uploads\/2022\/11\/nutesAndBolts-scaled.jpg 2560w, https:\/\/solmstc.com\/wp-content\/uploads\/2022\/11\/nutesAndBolts-300x157.jpg 300w, https:\/\/solmstc.com\/wp-content\/uploads\/2022\/11\/nutesAndBolts-1024x536.jpg 1024w, https:\/\/solmstc.com\/wp-content\/uploads\/2022\/11\/nutesAndBolts-768x402.jpg 768w, https:\/\/solmstc.com\/wp-content\/uploads\/2022\/11\/nutesAndBolts-1536x805.jpg 1536w, https:\/\/solmstc.com\/wp-content\/uploads\/2022\/11\/nutesAndBolts-2048x1073.jpg 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><div class=\"wp-block-cover__inner-container is-layout-flow wp-block-cover-is-layout-flow\">\n<p class=\"has-text-align-center has-ast-global-color-4-color has-text-color has-x-large-font-size\">High-Performance Computing In Rust<\/p>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-06ff6e52 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-uagb-buttons uagb-buttons__outer-wrap uagb-btn__default-btn uagb-btn-tablet__default-btn uagb-btn-mobile__default-btn uagb-block-225a1c3f\"><div class=\"uagb-buttons__wrap uagb-buttons-layout-wrap\">\n<div class=\"wp-block-uagb-buttons-child uagb-buttons__outer-wrap uagb-block-7f22d2d9 wp-block-button is-style-outline\"><div class=\"uagb-button__wrapper\"><a class=\"uagb-buttons-repeater wp-block-button__link has-background has-text-color\" href=\"https:\/\/solmstc.com\/index.php\/course-schedule\/\" onclick=\"return true;\" rel=\"follow noopener\" target=\"_self\"><div class=\"uagb-button__link\">Course Schedule<\/div><\/a><\/div><\/div>\n<\/div><\/div>\n<\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-65a7cae8 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<p class=\"has-ast-global-color-3-background-color has-background\"><strong>Why?<\/strong> Rust is increasingly used as a safe alternative to C++, particularly for systems, embedded and network programming as well as IoT and scalable web and micro-services. It is a fast memory-efficient multi-paradigm programming language with a modern compact syntax, provides safe and efficient memory management and concurrency, support for abstraction (e.g. via traits) and generics, solid package management. excellent library within a natively compiled language which does not use garbage collection.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-b2df9835 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-uagb-container uagb-block-cfb9f3e4\">\n<div class=\"wp-block-uagb-container uagb-block-2dae5b5a\">\n<h2 class=\"wp-block-heading\">For whom is the course?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Software developers<\/strong> who would like to learn how to write quality code in <em>Rust<\/em>.<\/li>\n\n\n\n<li><strong>Lead Developers<\/strong> who want to be able to provide guidance in software development projects which use <em>Rust <\/em>as one of the technologies.<\/li>\n\n\n\n<li><strong>Software Architects<\/strong> who would like to understand the benefits and risks around using <em>Rust<\/em> for high-performance systems.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-88d1888f\">\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Course attendees should have programmed in another programming language.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-26dd1252\">\n<div class=\"wp-block-uagb-container uagb-block-162242c8\">\n<h2 class=\"wp-block-heading\">Course Content<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Understand the capabilities, benefits and uses of Rust<\/strong>\n<ul class=\"wp-block-list\">\n<li>the Rust Eco System and the core language features of Rust<\/li>\n\n\n\n<li>the relative benefits of using <em>Rust<\/em> compared to other programming languages and when to consider using <em>Rust<\/em>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Program in Rust<\/strong>\n<ul class=\"wp-block-list\">\n<li><em>Basic language constructs<\/em>\n<ul class=\"wp-block-list\">\n<li>data types, scoping, flow control flow<\/li>\n\n\n\n<li>basic and  generic functions<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><em>Safe and efficient memory usage<\/em>\n<ul class=\"wp-block-list\">\n<li>data ownership, borrowing, life-span declarations<\/li>\n\n\n\n<li>smart pointers, reference counting, mutable inner state<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><em>Object-oriented programming<\/em>\n<ul class=\"wp-block-list\">\n<li>including structures, classes, methods, traits, polymorphism and inheritance<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><em>Functional programming <\/em>\n<ul class=\"wp-block-list\">\n<li>pure and higher order functions, closures, replacing iteration with recursion and lazy evaluation in Rust<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><em>Exception and error handling<\/em>\n<ul class=\"wp-block-list\">\n<li>errors versus exceptions <\/li>\n\n\n\n<li>functions not provided unconditionally<\/li>\n\n\n\n<li>raising exceptions by returning error codes<\/li>\n\n\n\n<li>handling, partially handling, forwarding and mapping errors<\/li>\n\n\n\n<li>panicking on unrecoverable errors<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><em>IO<\/em>\n<ul class=\"wp-block-list\">\n<li>Console, file and network streaming<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><em>Concurrency in Rust<\/em>\n<ul class=\"wp-block-list\">\n<li>Spawning and joining threads<\/li>\n\n\n\n<li>Inter-thread communication (shared state and data transfer)<\/li>\n\n\n\n<li>Mutexes and atomic reference counting<\/li>\n\n\n\n<li>Executors, thread pooling, futures<\/li>\n\n\n\n<li>Core affinity and NUMA<\/li>\n\n\n\n<li>inter-process communication via messaging services<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><em>Event-Driven Programming in Rust<\/em><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Organizing code and facilitating distribution and reuse<\/strong>\n<ul class=\"wp-block-list\">\n<li>Packaging executables and libraries into crates<\/li>\n\n\n\n<li>Modularization for name spaces and scope management<\/li>\n\n\n\n<li>Generating API documentation<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Assessing and managing code quality<\/strong>\n<ul class=\"wp-block-list\">\n<li>Contract-based development in <em>Rust<\/em>\n<ul class=\"wp-block-list\">\n<li>Defining contracts and using them for test logic<\/li>\n\n\n\n<li>Unit testing by combining test logic with equivalence partition based test data<\/li>\n\n\n\n<li>Integration and operational testing<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Writing tests, tests across levels of granularity, controlling test execution, and mocking frameworks for Rust<\/li>\n\n\n\n<li>Enforcing coding standards for simpler, safer and more maintainable code.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-78c9d7de\">\n<div class=\"wp-block-uagb-container uagb-block-5465ba58\">\n<h2 class=\"wp-block-heading\">Interested?<\/h2>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-ddfae16b\">\n<div class=\"wp-block-uagb-buttons uagb-buttons__outer-wrap uagb-btn__default-btn uagb-btn-tablet__default-btn uagb-btn-mobile__default-btn uagb-block-096b4747\"><div class=\"uagb-buttons__wrap uagb-buttons-layout-wrap\">\n<div class=\"wp-block-uagb-buttons-child uagb-buttons__outer-wrap uagb-block-92b047b6 wp-block-button is-style-outline\"><div class=\"uagb-button__wrapper\"><a class=\"uagb-buttons-repeater wp-block-button__link has-background has-text-color\" href=\"https:\/\/solmstc.com\/index.php\/course-schedule\/\" onclick=\"return true;\" rel=\"follow noopener\" target=\"_self\"><div class=\"uagb-button__link\">Course Schedule<\/div><\/a><\/div><\/div>\n<\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-buttons uagb-buttons__outer-wrap uagb-btn__default-btn uagb-btn-tablet__default-btn uagb-btn-mobile__default-btn uagb-block-23e7d41c\"><div class=\"uagb-buttons__wrap uagb-buttons-layout-wrap\">\n<div class=\"wp-block-uagb-buttons-child uagb-buttons__outer-wrap uagb-block-9b8ad2af wp-block-button is-style-outline\"><div class=\"uagb-button__wrapper\"><a class=\"uagb-buttons-repeater wp-block-button__link has-background has-text-color\" href=\"https:\/\/solmstc.com\/index.php\/traininginfoorquoterequest\/\" onclick=\"return true;\" rel=\"follow noopener\" target=\"_self\"><div class=\"uagb-button__link\">Enquire about on-site or virtual life training<\/div><\/a><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-2b922e52\">\n<h2 class=\"wp-block-heading\">Certification<\/h2>\n<\/div>\n\n\n\n<p>The <em>High-Performance Programming using Rust<\/em> course is part of the <\/p>\n\n\n\n<div class=\"wp-block-uagb-buttons uagb-buttons__outer-wrap uagb-btn__default-btn uagb-btn-tablet__default-btn uagb-btn-mobile__default-btn uagb-block-6ce71b64\"><div class=\"uagb-buttons__wrap uagb-buttons-layout-wrap\">\n<div class=\"wp-block-uagb-buttons-child uagb-buttons__outer-wrap uagb-block-d5de5f97 wp-block-button is-style-outline\"><div class=\"uagb-button__wrapper\"><a class=\"uagb-buttons-repeater wp-block-button__link has-background\" href=\"https:\/\/solmstc.com\/index.php\/training\/certification\/\" onclick=\"return true;\" rel=\"follow noopener\" target=\"_self\"><div class=\"uagb-button__link\">Solms TC Certification Program<\/div><\/a><\/div><\/div>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":2868,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_uag_custom_page_level_css":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1054","page","type-page","status-publish","hentry"],"aioseo_notices":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Fritz Solms","author_link":"https:\/\/solmstc.com\/author\/fritzsolms-co-za\/"},"uagb_comment_info":0,"uagb_excerpt":null,"_links":{"self":[{"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/pages\/1054","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/comments?post=1054"}],"version-history":[{"count":23,"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/pages\/1054\/revisions"}],"predecessor-version":[{"id":3128,"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/pages\/1054\/revisions\/3128"}],"up":[{"embeddable":true,"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/pages\/2868"}],"wp:attachment":[{"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/media?parent=1054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}