PhysicsBasedAnimationToolkit 0.0.10
Cross-platform C++20 library of algorithms and data structures commonly used in computer graphics research on physically-based simulation.
|
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. | |
VBD kernels.