PhysicsBasedAnimationToolkit 0.0.10
Cross-platform C++20 library of algorithms and data structures commonly used in computer graphics research on physically-based simulation.
Loading...
Searching...
No Matches
Kernels.cuh File Reference

VBD kernels. More...

#include "pbat/HostDevice.h"
#include "pbat/gpu/Aliases.h"
#include "pbat/math/linalg/mini/Mini.h"
#include "pbat/physics/StableNeoHookeanEnergy.h"
#include "pbat/sim/vbd/Kernels.h"
#include <array>
#include <cstddef>
#include <cub/block/block_reduce.cuh>
#include <cuda/api/device.hpp>
#include <cuda/api/launch_config_builder.hpp>
#include <cuda/std/tuple>
#include <limits>

Go to the source code of this file.

Classes

struct  pbat::gpu::impl::vbd::kernels::BackwardEulerMinimization
 Device-side BFD1 minimization problem. More...
 
struct  pbat::gpu::impl::vbd::kernels::ContactPenalty< kMaxContacts >
 Penalty rescaler for mesh independent contact response. More...
 
struct  pbat::gpu::impl::vbd::kernels::VbdIterationTraits< kBlockThreads >
 Traits for VBD iteration kernel. More...
 

Namespaces

namespace  pbat::gpu::impl::vbd::kernels
 Device-side VBD kernels.
 
namespace  pbat
 The main namespace of the library.
 
namespace  pbat::gpu
 GPU related public functionality.
 
namespace  pbat::gpu::impl
 GPU algorithm implementations.
 
namespace  pbat::gpu::impl::vbd
 Vertex Block Descent (VBD) algorithms.
 

Functions

template<auto kBlockThreads>
__global__ void pbat::gpu::impl::vbd::kernels::VbdIteration (BackwardEulerMinimization BDF)
 VBD iteration kernel.
 
template<template< auto > class TKernelTraits, class... TArgs>
void pbat::gpu::impl::vbd::kernels::Invoke (GpuIndex nBlocks, GpuIndex nThreads, TArgs &&... args)
 Invokes a VBD kernel on the GPU with the specified number of blocks and threads.
 

Detailed Description

VBD kernels.

Author
Quoc-Minh Ton-That (tonth.nosp@m.at.q.nosp@m.uocmi.nosp@m.nh@g.nosp@m.mail..nosp@m.com)
Date
2025-02-16