This document provides techniques for optimizing games for the PlayStation platforms. It discusses case studies from Motorstorm: Arctic Edge including using lower polygon counts and LOD for landscapes. It also covers maintaining framerate on PS3 through dynamic resolution and reducing GPU load. The document emphasizes optimizing for the PS3's multi-core architecture including offloading tasks to SPUs like physics and using the SPUs to assist the GPU with tasks like post-processing.
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unity Technologies
In this session, the Unity Demo team provides their best tips and tricks for optimizing detailed, complex environment scenes for modern console performance.
Speakers:
Rob Thompson (Unity Technologies)
Optimization in Unity: simple tips for developing with "no surprises" / Anton...DevGAMM Conference
Every developer once faces the optimization of their project, but sometimes it happens quite spontaneously and at the wrong time. Developers, especially beginners, often ignore very simple and cheap techniques, which allow to make the optimization process more calm and predictable. This work is devoted to the things you should pay attention in developing to avoid inconvenience in future.
The past few years have seen a sharp increase in the complexity of rendering algorithms used in modern game engines. Large portions of the rendering work are increasingly written in GPU computing languages, and decoupled from the conventional “one-to-one” pipeline stages for which shading languages were designed. Following Tim Foley’s talk from SIGGRAPH 2016’s Open Problems course on shading language directions, we explore example rendering algorithms that we want to express in a composable, reusable and performance-portable manner. We argue that a few key constraints in GPU computing languages inhibit these goals, some of which are rooted in hardware limitations. We conclude with a call to action detailing specific improvements we would like to see in GPU compute languages, as well as the underlying graphics hardware.
This talk was originally given at SIGGRAPH 2017 by Andrew Lauritzen (EA SEED) for the Open Problems in Real-Time Rendering course.
Custom SRP and graphics workflows - Unite Copenhagen 2019Unity Technologies
Battle Planet - Judgement Day is a unique game in the sense that it's played entirely on a single sphere (the planet). Levels are fully procedural and fully destructible. This structure created a few big challenges in terms of rendering, which were solved by writing a custom Scriptable Render Pipeline for the game. This session provides an overview of the game's rendering features and how they were implemented using SRP. It includes a few examples of how performance issues influenced the design of the pipeline as well as a discussion about shader programming and design patterns.
Speaker:
Henning Steinbock - Threaks
Session available here: https://youtu.be/91zUwJwkXNQ
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unity Technologies
In this session, the Unity Demo team provides their best tips and tricks for optimizing detailed, complex environment scenes for modern console performance.
Speakers:
Rob Thompson (Unity Technologies)
Optimization in Unity: simple tips for developing with "no surprises" / Anton...DevGAMM Conference
Every developer once faces the optimization of their project, but sometimes it happens quite spontaneously and at the wrong time. Developers, especially beginners, often ignore very simple and cheap techniques, which allow to make the optimization process more calm and predictable. This work is devoted to the things you should pay attention in developing to avoid inconvenience in future.
The past few years have seen a sharp increase in the complexity of rendering algorithms used in modern game engines. Large portions of the rendering work are increasingly written in GPU computing languages, and decoupled from the conventional “one-to-one” pipeline stages for which shading languages were designed. Following Tim Foley’s talk from SIGGRAPH 2016’s Open Problems course on shading language directions, we explore example rendering algorithms that we want to express in a composable, reusable and performance-portable manner. We argue that a few key constraints in GPU computing languages inhibit these goals, some of which are rooted in hardware limitations. We conclude with a call to action detailing specific improvements we would like to see in GPU compute languages, as well as the underlying graphics hardware.
This talk was originally given at SIGGRAPH 2017 by Andrew Lauritzen (EA SEED) for the Open Problems in Real-Time Rendering course.
Custom SRP and graphics workflows - Unite Copenhagen 2019Unity Technologies
Battle Planet - Judgement Day is a unique game in the sense that it's played entirely on a single sphere (the planet). Levels are fully procedural and fully destructible. This structure created a few big challenges in terms of rendering, which were solved by writing a custom Scriptable Render Pipeline for the game. This session provides an overview of the game's rendering features and how they were implemented using SRP. It includes a few examples of how performance issues influenced the design of the pipeline as well as a discussion about shader programming and design patterns.
Speaker:
Henning Steinbock - Threaks
Session available here: https://youtu.be/91zUwJwkXNQ
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14AMD Developer Central
Johan Andersson will show how the Frostbite 3 game engine is using the low-level graphics API Mantle to deliver significantly improved performance in Battlefield 4 on PC and future games from Electronic Arts in this presentation from the 2014 Game Developers Conference in San Francisco March 17-21. Also view this and other presentations on our developer website at http://developer.amd.com/resources/documentation-articles/conference-presentations/
In this technical presentation Johan Andersson shows how the Frostbite 3 game engine is using the low-level graphics API Mantle to deliver significantly improved performance in Battlefield 4 on PC and future games from Electronic Arts. He will go through the work of bringing over an advanced existing engine to an entirely new graphics API, the benefits and concrete details of doing low-level rendering on PC and how it fits into the architecture and rendering systems of Frostbite. Advanced optimization techniques and topics such as parallel dispatch, GPU memory management, multi-GPU rendering, async compute & async DMA will be covered as well as sharing experiences of working with Mantle in general.
Game engines have long been in the forefront of taking advantage of the ever increasing parallel compute power of both CPUs and GPUs. This talk is about how the parallel compute is utilized in practice on multiple platforms today in the Frostbite game engine and how we think the parallel programming models, hardware and software in the industry should look like in the next 5 years to help us make the best games possible
Decima Engine: Visibility in Horizon Zero DawnGuerrilla
Download the full presentation here: http://www.guerrilla-games.com/read/decima-engine-visibility-in-horizon-zero-dawn
Abstract: Horizon Zero Dawn presented the Decima engine with new challenges in rendering large and dense environments. In particular, we needed to be able to quickly query a very large set of potential objects to find which should be visible. This talk looks at the problems we faced moving from more constrained Killzone levels to Horizon's open world, and our approach to fast visibility queries using the PS4's asynchronous compute hardware. It also covers our recent work on efficiently collecting batches of object instances during the query to reduce load on the entire rendering pipeline. A basic familiarity with GPU compute will be helpful to get the most out of this talk.
Creating explosive real-time visuals with the Visual Effect Graph – Unite Cop...Unity Technologies
Interested in creating film-like effects such as fire, smoke or holograms in Unity? At Unite Copenhagen, this session showed how to use node-based effects and adaptive features in Unity's Visual Effect Graph to create striking VFX in real-time. VFX Graph is out of Preview in 19.3.
Speaker: Vlad Neykov – Unity
Watch the session on YouTube: https://youtu.be/POLFhSOiWms
This session presents a detailed programmer oriented overview of our SPU based shading system implemented in DICE's Frostbite 2 engine and how it enables more visually rich environments in BATTLEFIELD 3 and better performance over traditional GPU-only based renderers. We explain in detail how our SPU Tile-based deferred shading system is implemented, and how it supports rich material variety, High Dynamic Range Lighting, and large amounts of light sources of different types through an extensive set of culling, occlusion and optimization techniques.
Talk by Yuriy O’Donnell at GDC 2017.
This talk describes how Frostbite handles rendering architecture challenges that come with having to support a wide variety of games on a single engine. Yuriy describes their new rendering abstraction design, which is based on a graph of all render passes and resources. This approach allows implementation of rendering features in a decoupled and modular way, while still maintaining efficiency.
A graph of all rendering operations for the entire frame is a useful abstraction. The industry can move away from “immediate mode” DX11 style APIs to a higher level system that allows simpler code and efficient GPU utilization. Attendees will learn how it worked out for Frostbite.
A set of mobile game optimization best practices. This presentation extensively covers PowerVR series of GPUs from Imagination Technologies and iOS, however the majority of recommendations can be applied to other GPUs and mobile operating systems.
This article contains information about performance optimization of Unity3D games for android. Different solutions provided both for CPU and GPU. Also here you can find methodology which will help you to detect performance problems, analyze them and perform appropriate optimization.
Unity asset workflows for Film and Animation pipelines - Unite Copenhagen 2019Unity Technologies
The use of Unity in film and animation pipelines is still a growing area, and the best way to get started isn't often clear to new users. We'll cover the necessary methods and steps for getting data from external content sources into and out of Unity, with a focus on industry standard technologies and applications, such as Universal Scene Description (USD) and Alembic.
Speaker:
Chris Redmann - Unity
Watch the session on YouTube: https://youtu.be/BtKMvecBIbc
Talk by Graham Wihlidal (Frostbite Labs) at GDC 2017.
Checkerboard rendering is a relatively new technique, popularized recently by the introduction of the PlayStation 4 Pro. Many modern game engines are adding support for it right now, and in this talk, Graham will present an in-depth look at the new implementation in Frostbite, which is used in shipping titles like 'Battlefield 1' and 'Mass Effect Andromeda'. Despite being conceptually simple, checkerboard rendering requires a deep integration into the post-processing chain, in particular temporal anti-aliasing, dynamic resolution scaling, and poses various challenges to existing effects. This presentation will cover the basics of checkerboard rendering, explain the impact on a game engine that powers a wide range of titles, and provide a detailed look at how the current implementation in Frostbite works, including topics like object id, alpha unrolling, gradient adjust, and a highly efficient depth resolve.
Game engines have long been in the forefront of taking advantage of the ever
increasing parallel compute power of both CPUs and GPUs. This talk is about how the
parallel compute is utilized in practice on multiple platforms today in the Frostbite game
engine and how we think the parallel programming models, hardware and software in
the industry should look like in the next 5 years to help us make the best games possible.
Your Game Needs Direct3D 11, So Get Started Now!Johan Andersson
Direct3D 11 will have tessellation for smoother curves and finer details. The new compute shader will make postprocessing faster and easier. You'll need Direct3D 11 to have the best graphics, and this talk will show you how you can get started using current generation hardware.
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...Daosheng Mu
Game Developer Conference China (2012). Programming track.
This speech talks about how to use Stage3D APIs to make a 3D web game engine, and discuss some points about optimizing it.
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14AMD Developer Central
Johan Andersson will show how the Frostbite 3 game engine is using the low-level graphics API Mantle to deliver significantly improved performance in Battlefield 4 on PC and future games from Electronic Arts in this presentation from the 2014 Game Developers Conference in San Francisco March 17-21. Also view this and other presentations on our developer website at http://developer.amd.com/resources/documentation-articles/conference-presentations/
In this technical presentation Johan Andersson shows how the Frostbite 3 game engine is using the low-level graphics API Mantle to deliver significantly improved performance in Battlefield 4 on PC and future games from Electronic Arts. He will go through the work of bringing over an advanced existing engine to an entirely new graphics API, the benefits and concrete details of doing low-level rendering on PC and how it fits into the architecture and rendering systems of Frostbite. Advanced optimization techniques and topics such as parallel dispatch, GPU memory management, multi-GPU rendering, async compute & async DMA will be covered as well as sharing experiences of working with Mantle in general.
Game engines have long been in the forefront of taking advantage of the ever increasing parallel compute power of both CPUs and GPUs. This talk is about how the parallel compute is utilized in practice on multiple platforms today in the Frostbite game engine and how we think the parallel programming models, hardware and software in the industry should look like in the next 5 years to help us make the best games possible
Decima Engine: Visibility in Horizon Zero DawnGuerrilla
Download the full presentation here: http://www.guerrilla-games.com/read/decima-engine-visibility-in-horizon-zero-dawn
Abstract: Horizon Zero Dawn presented the Decima engine with new challenges in rendering large and dense environments. In particular, we needed to be able to quickly query a very large set of potential objects to find which should be visible. This talk looks at the problems we faced moving from more constrained Killzone levels to Horizon's open world, and our approach to fast visibility queries using the PS4's asynchronous compute hardware. It also covers our recent work on efficiently collecting batches of object instances during the query to reduce load on the entire rendering pipeline. A basic familiarity with GPU compute will be helpful to get the most out of this talk.
Creating explosive real-time visuals with the Visual Effect Graph – Unite Cop...Unity Technologies
Interested in creating film-like effects such as fire, smoke or holograms in Unity? At Unite Copenhagen, this session showed how to use node-based effects and adaptive features in Unity's Visual Effect Graph to create striking VFX in real-time. VFX Graph is out of Preview in 19.3.
Speaker: Vlad Neykov – Unity
Watch the session on YouTube: https://youtu.be/POLFhSOiWms
This session presents a detailed programmer oriented overview of our SPU based shading system implemented in DICE's Frostbite 2 engine and how it enables more visually rich environments in BATTLEFIELD 3 and better performance over traditional GPU-only based renderers. We explain in detail how our SPU Tile-based deferred shading system is implemented, and how it supports rich material variety, High Dynamic Range Lighting, and large amounts of light sources of different types through an extensive set of culling, occlusion and optimization techniques.
Talk by Yuriy O’Donnell at GDC 2017.
This talk describes how Frostbite handles rendering architecture challenges that come with having to support a wide variety of games on a single engine. Yuriy describes their new rendering abstraction design, which is based on a graph of all render passes and resources. This approach allows implementation of rendering features in a decoupled and modular way, while still maintaining efficiency.
A graph of all rendering operations for the entire frame is a useful abstraction. The industry can move away from “immediate mode” DX11 style APIs to a higher level system that allows simpler code and efficient GPU utilization. Attendees will learn how it worked out for Frostbite.
A set of mobile game optimization best practices. This presentation extensively covers PowerVR series of GPUs from Imagination Technologies and iOS, however the majority of recommendations can be applied to other GPUs and mobile operating systems.
This article contains information about performance optimization of Unity3D games for android. Different solutions provided both for CPU and GPU. Also here you can find methodology which will help you to detect performance problems, analyze them and perform appropriate optimization.
Unity asset workflows for Film and Animation pipelines - Unite Copenhagen 2019Unity Technologies
The use of Unity in film and animation pipelines is still a growing area, and the best way to get started isn't often clear to new users. We'll cover the necessary methods and steps for getting data from external content sources into and out of Unity, with a focus on industry standard technologies and applications, such as Universal Scene Description (USD) and Alembic.
Speaker:
Chris Redmann - Unity
Watch the session on YouTube: https://youtu.be/BtKMvecBIbc
Talk by Graham Wihlidal (Frostbite Labs) at GDC 2017.
Checkerboard rendering is a relatively new technique, popularized recently by the introduction of the PlayStation 4 Pro. Many modern game engines are adding support for it right now, and in this talk, Graham will present an in-depth look at the new implementation in Frostbite, which is used in shipping titles like 'Battlefield 1' and 'Mass Effect Andromeda'. Despite being conceptually simple, checkerboard rendering requires a deep integration into the post-processing chain, in particular temporal anti-aliasing, dynamic resolution scaling, and poses various challenges to existing effects. This presentation will cover the basics of checkerboard rendering, explain the impact on a game engine that powers a wide range of titles, and provide a detailed look at how the current implementation in Frostbite works, including topics like object id, alpha unrolling, gradient adjust, and a highly efficient depth resolve.
Game engines have long been in the forefront of taking advantage of the ever
increasing parallel compute power of both CPUs and GPUs. This talk is about how the
parallel compute is utilized in practice on multiple platforms today in the Frostbite game
engine and how we think the parallel programming models, hardware and software in
the industry should look like in the next 5 years to help us make the best games possible.
Your Game Needs Direct3D 11, So Get Started Now!Johan Andersson
Direct3D 11 will have tessellation for smoother curves and finer details. The new compute shader will make postprocessing faster and easier. You'll need Direct3D 11 to have the best graphics, and this talk will show you how you can get started using current generation hardware.
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...Daosheng Mu
Game Developer Conference China (2012). Programming track.
This speech talks about how to use Stage3D APIs to make a 3D web game engine, and discuss some points about optimizing it.
Presentation Video : http://tinyurl.com/pfhz96m
Stage 3D introduction in Adobe Flash Player and Adobe AIR lets you use techniques such as deferred lighting, screen space dynamic shadow, MRT, and more through vertex and fragment shaders. Join Jean-Philippe Doiron, Principal Architect R&D at Frima Studio, and Jean-Philippe Auclair, R&D Architect, for a deep dive into GPU programming with the new Flash Player, and discover how to produce beautiful GPU effects that are reusable in your games and applications.
In this deck from the GPU Technology Conference, John Romein and Bram Veenboer from ASTRON in the Netherlands present: Can FPGAs compete with GPUs?
"We'll discuss how FPGAs are changing as a result of new technology such as the Open CL high-level programming language, hard floating-point units, and tight integration with CPU cores. Traditionally energy-efficient FPGAs were considered notoriously difficult to program and unsuitable for complex HPC applications. We'll compare the latest FPGAs to GPUs, examining the architecture, programming models, programming effort, performance, and energy efficiency by considering some real applications."
Watch the video: https://wp.me/p3RLHQ-kfK
Learn more: https://www.astron.nl/
and
https://www.nvidia.com/en-us/gtc/
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Presentation I gave at the SORT Conference in 2011. Was generalized from some work I had done with using GPUs to accelerate image processing at FamilySearch.
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)Budianto Tandianus
Was presented in GPU Technology Conference 2014 by Dr. Chen Quan.
The presentation recording and the definitive version of the slide can be downloaded from : http://on-demand-gtc.gputechconf.com/gtcnew/on-demand-gtc.php?searchByKeyword=S4356&searchItems=session_id&submit=
Introduction to GPUs for Machine LearningSri Ambati
Graphics processing units (GPUs) are becoming integral components of modern machine learning engines and platforms. These will provide an introduction to GPUs and their suitability for machine learning workloads. They also discuss enabling technologies, such as CUDA, and demonstrate GPU-accelerated machine learning with the H2O platform. These slides are targeted to machine learning practitioners new to GPUs.
Author: Wen Phan is a Senior Solutions Architect at H2O.ai. Wen works with customers and organizations to architect systems, smarter applications, and data products to make better decisions, achieve positive outcomes, and transform the way they do business. Internally, Wen uses his hard-earned field experiences, customer feedback, and market trends to drive product innovation and development. Wen holds a B.S. in Electrical Engineering and M.S. in Analytics and Decision Sciences.
Follow him on twitter: @wenphan
Unity - Internals: memory and performanceCodemotion
by Marco Trivellato - In this presentation we will provide in-depth knowledge about the Unity runtime. The first part will focus on memory and how to deal with fragmentation and garbage collection. The second part will cover implementation details and their memory vs cycles tradeoffs in both Unity4 and the upcoming Unity5.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Mission to Decommission: Importance of Decommissioning Products to Increase E...
PlayStation: Cutting Edge Techniques
1. Neil Brown – Senior Engineer
Developer Services
Sony Computer Entertainment Europe
Research & Development Division
PlayStation ® : Cutting Edge Techniques
2. Slide 2
• PlayStation® Development Resources
• PSP Case study
– Motorstorm® : Arctic Edge
• PS3 Case Studies
– Maintaining Framerate
– SPU assisted graphics
– Other tips
What I Will Be Covering
3. Slide 3
SCEE R&D
Developer Services
• Great Marlborough Street in
Central London
• Cover ‘PAL’ Region
Developers
4. Slide 4
• Support – SCE DevNet
• Field Engineering
• Technical and Strategic Consultancy
• TRC Consultancy
• Technical Training
What We Cover
9. Slide 9
• An illustration of some techniques used in
real games
– Making use of the PSP® and PS3™
Hardware
– How to combine the Cell Broadband Engine™
with RSX™
Case Studies
10. Slide 10
• Migration from a PS3™ title
• Platform specific game engine, 30Hz
• Render Target are oversized to 512x304 32-bit
– Soften jaggies
Motorstorm® : Arctic Edge
11. Slide 11
• Use morph target for better realism
• 2 LODs
• Real-time lit, with specular and modulated
by track lighting
• Each skin is divided up into sub-skins that
are affected by a maximum of 8 different
bones
• Each skin’s skeleton has 16 bones
Vehicles and Character
12. Slide 12
• Streamed with 3 blocks (15kpolys) in
memory
• Lighting baked into vertices
• Maximum of 8.5MB
• Specular snow rendering use 2-pass:
– untextured, specularly-lit only
– textured layer with alpha "holes" which
modulated the addition of the lower layer
• Whole elements to be clipped
Landscape
13. Slide 13
• Custom physics code to mimic PS3™ Motorstorm
• Vehicles are represented by convex hulls.
• The Landscape is represented by compressed
vertices of an arbitrary mesh in a grid based scene.
• Ragdoll physics is a verlet system.
Physics
14. Slide 14
• Pre-built display lists for most objects
• Compressed data for all geometry
• Z-fighting was heavily reduced by increasing the far
clipping plane massively beyond the actual draw distance
required
Graphics Optimisation
15. Slide 15
Graphics Optimisation
Near Clip Plane
Far Clip Plane
Actual Draw
Distance
Z-Buffer
Most accurate section
Near Clip Plane
Far Clip Plane
Z-Buffer
Most accurate section
17. Slide 17
• Different widths between 1280 and 1920 for a 1080p 60Hz game
– Or 1024 to 1280 for a 720p game
• Feedback loop adjusts render width based on prior frame durations
– Resize is hidden in post processing full screen passes
– Horizontal hardware scaler helps for 1080p modes
Dynamic resolution
18. Slide 18
• Framerate can vary over time
– Particle systems can eat GPU time
– Views affect render time
• Cull objects
– Small screen footprint
– Used on Motorstorm 2
Maintaining frame rate
19. Slide 19
• Dynamic geometry LOD
– Average per mesh polygon size computed offline
– Viewport polygon size used to pick lowest LOD
– For multiplayer, LODs automatically adjust
• (smaller viewports)
• Shader LOD
– Reduce shader instruction count in distance
• Lose parallax & normal – keep specular map
Reducing GPU load
22. Slide 22
• Many games are fragment shader bound
• Rendering Z only ‘primes’ the RSX™ Z-cull unit
– Very fast, 16 pixels/clock rather than 8
– Render entire scene,
– Or ‘large’ meshes only
– Easily save 10% GPU
Z pre-pass
26. Slide 26
• Processor are becoming increasingly parallel
• Frame time is bound by the max of any of these component
Game Loop
27. Slide 27
• If any part run too slow, offload tasks on to
a helper CPU
Helper CPU
28. Slide 28
• Problem: Update an array of objects and submit the visible
ones for rendering
• Object.update() method was bottleneck on PPE
– Determined using SN Tuner
– This function generates the world space matrices for each
object
– Embarrassingly parallel
• No data dependencies between objects
• If we had 1 processor for each object we could do that
Function off load example using a SPURS Task
29. Slide 29
SPURS Tasks
//---Conditionally calling SPU Code
if (usingSPU==false) //---------------------------generic version
{
for(int i=0; i<OBJECT_COUNT; i++)
{
testObject[i].update();
}
}
else //-------------------------------------------SPU version
{
int test=spurs.ThrowTaskRunComplete(taskUpdateObject_elf_start,
(int)testObject,
OBJECT_COUNT,0,0);
//could do something useful here…
int result = spurs.CatchTaskRunComplete(test);
}
30. Slide 30
• Getting data in and out of SPU is first problem
• Get this working before worrying about actual processing
– Brute force often works just fine
• DMA entire object array into SPE memory
• Run update method
• DMA entire object array back to main memory
• List DMA allows you to get fancy
– Gather and Scatter operation
• If the data set is really big or if you need every last drop of performance
– Streaming model
• Overlap DMA transfers with processing
• Double buffering
SPURS Task
31. Slide 31
SPURS Task: Getting Data in and out
int cellSpuMain(.....)
{
int sourceAddr = ....; //source address
int count = ....; //number of data elements
int dataSize = count * sizeof(gfxObject); //amount of memory to get
gfxObject *buf = (gfxObject*)memalign(128,dataSize); //alloc mem
DmaGet((void*)buf,sourceAddr,dataSize);
DmaWait(....);
//---data is loaded at this point so do something interesting
DmaPut((void*)buf,sourceAddr,dataSize);
DmaWait(....);
return(0);
}
32. Slide 32
• Keep code the same as PPU Version
– Conditional compilation based on processor type
– Might have to split code into a separate file
SPURS Task: Executing the Code
//--- SPU code to call the update method
//--- data is loaded at this point so do something interesting
//--- step through array of objects and update
gfxObject *tp;
for(int i=0; i<count; i++)
{
tp = &buf[i];
tp->update(); //same method as on PPE compiled for SPU
}
33. Slide 33
• 5x Speed up in this instance
– Brute force solution
– Could add more SPUS
– Problem is embarrassingly parallel
SPURS Task: Results
34. Slide 34
• Simple pipeline
– No stalls like LHS
• No Operating System, very few system calls
– Performance is high and deterministic
• Memory is very fast like L1 cache
– Memory transfers a asynchronous so can be hidden
SPUs are faster than the PPU
35. Slide 35
• PPU Stalled while waiting for SPU to Process
• SPU Data get and put were synchronous
– Not using hardware to its fullest extent
– Easy to get more if we need it
SPURS Task: Time Waster
PPU PPU
GET PUTExec
TIME
SPU
36. Slide 36
SPU Migration
• Look for large blocks of data with simple processing and
minimal synchronization requirements
– Vertex transform
– Animation
– Audio
– Image processing
• Entire subsystems that can be moved over
37. Slide 37
• Graphics API
• Multistream – Audio
• Bullet – Physics
• PlayStation®Edge
– Geometry/Compression/Animation/Post FX
• FIOS – Optimised disc access
Our Libraries that run on SPUs
38. Slide 38
• Animation
• AI Threat prediction
• AI Line of fire
• AI Obstacle avoidance
• Collision detection
• Physics
• Particle simulation
• Particle rendering
• Scene graph
Killzone®2 SPU Usage
• Display list building
• IBL Light probes
• Graphics post-processing
• Dynamic music system
• Skinning
• MP3 Decompression
• Edge Zlib
• etc.
44 Job types
39. Slide 39
• Accelerate both PPU and RSX™
• Allow to shorten the overall time
SPU can do more than CPU tasks
40. Slide 40
• Visibility and
Geometry Culling
• Vertex and lighting
processing
• Post processing
Offloading the GPU
41. Slide 41
• ‘Edge’ SPU library to offload vertex work from RSX™
– Trade SPU time for GPU performance
• Animation, skinning, culling and transformation
– Pre culled, so all RSXTM work generates pixels
Geometry processing
42. Slide 42
• Engine supports up to 256 vertex lights
• Light accumulation
– RGBE vertex colour
– Runs on SPU
• Zero impact on RSX™
Wipeout® weapon lighting
43. Slide 43
• Geometric occluders
– Tested using halfplanes
– Fast checks on SPU
• Low res software occlusion
– Coarse Zbuffer on SPU
– 256x114 float Z
– Low-poly conservative occluders
Occlusion Culling
44. Slide 44
• SPU/PPU
– Object culling – Offscreen or very small objects
– Occlusion Culling – Occluded objects
– Edge Geometry – Vertex culling
• RSX
– Early Z-cull – Coarse pixel culling
• Before fragment shader
• Remember to do a z pre-pass
– Depth test – Pixel culling
• After fragment shader
Culling
45. Slide 45
• SPU geometry code for landscape
– SPUs can generate or remove graphic primitives (procedural, sub-division
surfaces…)
– Allow to send only triangles that contribute to the final scene
Continuous LOD
46. Slide 46
PhyreEngine™
• Free game engine including
– Modular run time
– Samples, docs and whitepapers
– Full source and art work
• Optimized for multi-core especially PS3™
• Extractable and reusable components
47. Slide 47
Procedural Foliage
• Final SPU program generates RSX™ geometry with movement
• LOD calculated and transition to billboards
Original models are from the Xfrog Plant Library and used with permission of Greenworks Organic Software.
49. Slide 49
• Motion Blur, Bloom, Depth of field processed on SPU
– Quarter-res image
– Merged into final scene
Killzone® post processing
50. Slide 50
• SPUs assist RSX™
1. RSX™ prepares low-res image buffers in XDR
2. RSX™ triggers interrupt to start SPUs
3. SPUs perform image operations
4. RSX™ already starts on next frame
5. Result of SPUs processed by RSX™ early in next frame
Post Processing
52. Slide 52
A Few Samples
Exponential
shadow map
Motion Blur
53. Slide 53
Post-Effect Impl. Difference
RSXTM SPUs
Bilinear filtering is nearly free Bilinear filtering is expensive
Nearest filtering is nearly free SPU only supports truncate mode
Sequential texture accesses can
benefit from texture cache
Sequential texture accesses need to
be DMA transferred into LS
Random accesses are handled nicely
at a cost of trashing the texture cache
Random accesses means handling
multiple small DMA transfers
54. Slide 54
• HD resolution is still expensive
– run post-processing at lower resolution!
Performance
Effect Single SPU at 720p Five SPUs at 720p
Depth of Field ~22.76 ms ~4.74 ms
ROP ~14.36 ms ~2.99 ms
Motion Blur (Intrinsics) ~27.5 ms ~5.73 ms
Motion Blur (hand tuned) ~17.6 ms ~3.67 ms
55. Slide 55
• Every PS3™ comes with an HDD
• Can access both HDD and Blu-ray simultaneously
– Helps when continuously streaming data: levels,
actors, sounds, music, textures…
– 2GB of System Cache
• Allows prefetching data in advance
Data Streaming
56. Slide 56
• Brute force method
– High quality images
– 128 FP16 frames
• Depth of field
• Motion Blur
– Use sub-pixel jitter to give 128x super-sampled AA
Photo-Mode
58. Slide 58
• Think of the system and your game as a whole
– Rearrange your rendering if necessary
– Rendering is not just a GPU problem
• Unlock the potential of multi-core programming
– PS3™ = PPU + SPUs + RSX™ working together in parallel
– Minimize contention
Summary
61. Slide 61
• Thanks to all the studios that let me talk about their games
ANY QUESTIONS?
www.scee.com
ps3.scedev.net
research.scee.net
tpr.scee.net
www.worldwidestudios.net/xdev
Finally