From 405f5661f8392b5c7463d8bc5435f65ad8689d43 Mon Sep 17 00:00:00 2001 From: James Riordon Date: Mon, 6 Oct 2025 13:49:01 -0400 Subject: [PATCH 1/6] Fix order error in import statements --- assets/css/style.scss | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/assets/css/style.scss b/assets/css/style.scss index f14693ab..581df2dc 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -1,6 +1,11 @@ --- --- +// Bootstrap 5.3.2 + +// 1. Include Bootstrap functions first +@import "bootstrap/functions"; + // Colors $primary: #105f65 !default; @@ -32,11 +37,6 @@ $sub-footer-text-color: #6b8298; // Enable proper CSS Grid $enable-cssgrid: true; -// Bootstrap 5.3.2 - -// 1. Include Bootstrap functions first -@import "bootstrap/functions"; - // 2. Include our variable overrides here @import "bootstrap-variables"; From 1c55f5ac12ecbfc774403b32f68d63b2b508e5e2 Mon Sep 17 00:00:00 2001 From: James Riordon Date: Mon, 6 Oct 2025 13:56:14 -0400 Subject: [PATCH 2/6] Remove need for seo.yml data --- _data/seo.yml | 2 -- _includes/sub-footer.html | 5 +---- 2 files changed, 1 insertion(+), 6 deletions(-) delete mode 100644 _data/seo.yml diff --git a/_data/seo.yml b/_data/seo.yml deleted file mode 100644 index 3e31c80e..00000000 --- a/_data/seo.yml +++ /dev/null @@ -1,2 +0,0 @@ -google_analytics_id: "G-5FSSYDPSKV" -copyright_text: '© The Khronos® Group Inc. 2024. All rights reserved' diff --git a/_includes/sub-footer.html b/_includes/sub-footer.html index 7c86d2f7..07f08a36 100644 --- a/_includes/sub-footer.html +++ b/_includes/sub-footer.html @@ -4,10 +4,7 @@
-
-
From 8e4184fb4b8a324da1d824dc55cef9c4b77a9833 Mon Sep 17 00:00:00 2001 From: James Riordon Date: Mon, 6 Oct 2025 14:00:32 -0400 Subject: [PATCH 3/6] Add option for variable event button label --- _includes/home-news-bar.html | 7 ++++++- _posts/2025-09-12-graphics-programming-conference-2025.md | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/_includes/home-news-bar.html b/_includes/home-news-bar.html index 164b6830..b4f3a5bb 100644 --- a/_includes/home-news-bar.html +++ b/_includes/home-news-bar.html @@ -46,7 +46,12 @@

{{ post.title }}

{% elsif post.categories contains 'blog' %}Read Blog {% elsif post.categories contains 'presentation' %}View Presentation {% elsif post.categories contains 'video' %}Watch Video - {% elsif post.categories contains 'event' %}Join Virtual Meetup + {% elsif post.categories contains 'event' %} + {% if post.event_button_label != '' %} + {{ post.event_button_label }} + {% else %} + Join Virtual Meetup + {% endif%} {% else %}Read More {% endif %} diff --git a/_posts/2025-09-12-graphics-programming-conference-2025.md b/_posts/2025-09-12-graphics-programming-conference-2025.md index 8d68b9b4..d0a1982f 100644 --- a/_posts/2025-09-12-graphics-programming-conference-2025.md +++ b/_posts/2025-09-12-graphics-programming-conference-2025.md @@ -9,14 +9,16 @@ event_type: "" author: "" image: "/images/events/2025-11-18-slang-graphics-programming-conference-2025.webp" human_date: "🗓️ November 18-20, 2025" +event_button_label: "Learn More" --- **Location**: Breda, The Netherlands **Website**: https://graphicsprogrammingconference.com/ -In its second year, Graphics Programmaing Conference will have the latest advances in real-time rendering in games, interactive application and other new developments. +In its second year, Graphics Programmaing Conference will have the latest advances in real-time rendering in games, interactive application and other new developments. +**Wednesday, November 19th at 16:00** Slang Working Group Chair, Shannong Woods will be speaking on Slang, the open-source, cross-platform shading language hosted by Khronos Group. This presentation explores how Slang's modern features enable neural graphics techniques across diverse GPU platforms. We will examine Slang's key architectural advantages: its modular system for scalable shader development, built-in automatic differentiation capabilities, and seamless cross-platform compilation. We will explore Slang's automatic differentiation system, enabling gradient-based optimization without requiring external ML frameworks. By understanding Slang's language design and capabilities, graphics programmers can leverage its neural graphics features to build more sophisticated and performant shader systems, unlocking new possibilities in real-time rendering across all target platforms. View the GPC2025 Website \ No newline at end of file From 27889098dcd5bb728fbcc5232baee28e448cc23b Mon Sep 17 00:00:00 2001 From: James Riordon Date: Mon, 6 Oct 2025 14:23:13 -0400 Subject: [PATCH 4/6] Add new event --- ...ed-with-slang-automatic-differentiation.md | 36 ++++++++++++++++++ .../2025-10-21-Slang-Auto-Diff-Banner.webp | Bin 0 -> 30990 bytes 2 files changed, 36 insertions(+) create mode 100644 _posts/2025-10-06-getting-started-with-slang-automatic-differentiation.md create mode 100644 images/events/2025-10-21-Slang-Auto-Diff-Banner.webp diff --git a/_posts/2025-10-06-getting-started-with-slang-automatic-differentiation.md b/_posts/2025-10-06-getting-started-with-slang-automatic-differentiation.md new file mode 100644 index 00000000..1dc2d2ec --- /dev/null +++ b/_posts/2025-10-06-getting-started-with-slang-automatic-differentiation.md @@ -0,0 +1,36 @@ +--- +layout: event +title: "Getting Started with Slang: Automatic Differentiation" +date: 2025-10-06 08:00:00 +end_date: 2025-10-21 09:00:00 +categories: [ "event" ] +tags: [slang] +event_type: "" +author: "" +image: "/images/events/2025-10-21-Slang-Auto-Diff-Banner.webp" +human_date: "October 21, 2025" +event_button_label: "Learn More" +--- + +## Automatic Differentiation + +Join us for a focused deep dive on automatic differentiation in Slang with Shannon Woods. This session distills the core concepts of autodiff, emphasizing how forward and reverse modes work, how gradients propagate, and how to reason about correctness and efficiency with clear, minimal examples. + +**What we’ll cover:** +- Forward and backward gradient propagation: intuition and step‑by‑step examples +- How to invoke autodiff from Slang +- Diff pairs and the forward/backward operators +- Differentiable vs. non‑differentiable types; making custom structs differentiable +- Providing custom derivatives for fine‑grained control +- Handling buffer access and gradient accumulation patterns +- Practical techniques for debugging and validating gradients +

+ +**Who should attend:** +- Graphics engineers exploring optimization or inverse problems +- Researchers and practitioners in differentiable rendering or neural graphics +- Developers curious about practical, GPU‑friendly autodiff concepts +- Bring your questions—there will be time for discussion and hands‑on gradient debugging tips. + + +


Register

\ No newline at end of file diff --git a/images/events/2025-10-21-Slang-Auto-Diff-Banner.webp b/images/events/2025-10-21-Slang-Auto-Diff-Banner.webp new file mode 100644 index 0000000000000000000000000000000000000000..d0f96c5f17c6ea505ed27f099530fd5f6a340112 GIT binary patch literal 30990 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 literal 0 HcmV?d00001 From 40e6ab3f25b5856283a71ce934a0d0680bfc9877 Mon Sep 17 00:00:00 2001 From: James Riordon Date: Mon, 6 Oct 2025 14:23:27 -0400 Subject: [PATCH 5/6] Cleanup date formatting on events --- _includes/home-news-bar.html | 4 ++-- _layouts/event.html | 2 +- _posts/2025-09-12-graphics-programming-conference-2025.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_includes/home-news-bar.html b/_includes/home-news-bar.html index b4f3a5bb..f2e4d1dc 100644 --- a/_includes/home-news-bar.html +++ b/_includes/home-news-bar.html @@ -35,9 +35,9 @@

What's New

{{ post.title }}

{% if post.human_date and post.human_date != '' %} -
{{ post.human_date | date_to_string }}
+
{{ post.human_date }}
{% else %} -
{{ post.date | date_to_string }}
+
{{ post.date | date: "%B %-d, %Y" }}
{% endif %} diff --git a/_layouts/event.html b/_layouts/event.html index d2350650..a6442bc4 100644 --- a/_layouts/event.html +++ b/_layouts/event.html @@ -26,7 +26,7 @@

{{ page.title }}