6fae15c | Yong He | 19 January 2023, 16:58:20 UTC | Add diagnostic for calling non-bwd-diff func from bwd-diff func. (#2602) | 19 January 2023, 16:58:20 UTC |
0586f32 | jsmall-nvidia | 18 January 2023, 19:11:50 UTC | Upgrade slang-llvm-13.x-33 (#2600) * #include an absolute path didn't work - because paths were taken to always be relative. * Upgrade to slang-llvm-13.x-33 * Kick - as build failed on download egress. | 18 January 2023, 19:11:50 UTC |
86ddb9c | Yong He | 18 January 2023, 06:19:10 UTC | First custom backward-derivative test case working. (#2598) | 18 January 2023, 06:19:10 UTC |
a0994a8 | jsmall-nvidia | 18 January 2023, 05:01:58 UTC | Add `set` to spirv_instruction (#2597) | 18 January 2023, 05:01:58 UTC |
1a48681 | Sai Praveen Bangaru | 18 January 2023, 01:21:01 UTC | Added switch-case support; fixed non-diff parameter transposition (#2596) | 18 January 2023, 01:21:01 UTC |
2c43749 | Sai Praveen Bangaru | 15 January 2023, 20:00:20 UTC | Switched to a much simpler method to transpose control flow, nested control flow works now (#2595) | 15 January 2023, 20:00:20 UTC |
1c9b331 | Yong He | 15 January 2023, 06:50:57 UTC | Support custom backward derivative attribute. (#2594) | 15 January 2023, 06:50:57 UTC |
14fab67 | Theresa Foley | 14 January 2023, 23:31:31 UTC | Fixes for crash when inlining at global scope (#2593) * Fixes for crash when inlining at global scope Recent changes to the way inlining is implemented in the Slang compiler have broken certain scenarios involving `static const` declarations. The basic problem is that the initial-value expression for a `static const` gets lowered into IR code at the global scope of a module, and if that code includes `call`s to stdlib operations marked `forceInlineEarly`, then we end up trying to apply inlining to code at module scope. The current inlining operation assumes that all `call`s are in basic blocks, and that the correct way to do inlining involves splitting those blocks. This change adds logic to detect when the callee at a call site to be inlined consists of a single basic block ending in a `return`, and in that case it invokes specialized inlining logic that doesn't split basic blocks and doesn't need to care if the original `call` is in a basic block. Thus we are able to inline calls to single-basic-block `forceInlineEarly` functions called as part of the initialization for global-scope `static const` variables. This logic does *not* solve the problem of calls to multi-block `forceInlineEarly` functions from the global scope. Such calls cannot really be inlined. A secondary problem that arises when inlining such calls is that the callee might include local temporaries (`var` instructions) that are read and written (`load`s and `store`s), and none of those instructions should be allowed at the global scope. In the case of the functions being inlined here, the `load`/`store` operations are superfluous, and should be cleaned up by our SSA pass. The only reason that they seem to *not* be getting cleaned up in the case that was been triggering crashes is that the callee is a generic. The current logic for the SSA pass was skipping the bodies of generic functions, so they would not be cleaned up. This change enables the SSA pass to apply to the bodies of generic functions, and also ensures that SSA cleanups are applied *before* any `forceInlineEarly` functions get inlined. * fixup: liveness test outputs | 14 January 2023, 23:31:31 UTC |
4adc64f | Yong He | 13 January 2023, 19:48:54 UTC | Frontend work for `[BackwardDerivative]` and `[BackwardDerivativeOf]`. (#2589) * Frontend work for `[BackwardDerivative]` and `[BackwardDerivativeOf]`. * Fix clang issue. * Fix. * fix gcc issue * fix formatting. Co-authored-by: Yong He <yhe@nvidia.com> | 13 January 2023, 19:48:54 UTC |
63b874d | jsmall-nvidia | 12 January 2023, 22:11:42 UTC | Fix issue around linking/obfuscation (#2588) * #include an absolute path didn't work - because paths were taken to always be relative. * Work around for some issue seen with a repro. * Small improvement in doing IDifferentable check. * Fix around obfuscation linkage. | 12 January 2023, 22:11:42 UTC |
a3ac6e7 | Yong He | 11 January 2023, 23:33:28 UTC | Make backward differentiation work with generics. (#2586) * Make backward differentiation work with generics. * Fix. * Another fix. * More fix. Co-authored-by: Yong He <yhe@nvidia.com> | 11 January 2023, 23:33:28 UTC |
2026268 | jsmall-nvidia | 10 January 2023, 22:01:24 UTC | Small fixes around repro loading/autodiff (#2585) * #include an absolute path didn't work - because paths were taken to always be relative. * Work around for some issue seen with a repro. * Small improvement in doing IDifferentable check. | 10 January 2023, 22:01:24 UTC |
2f42208 | Yong He | 10 January 2023, 20:42:55 UTC | Nested bwd-diff func call context save/restore. (#2584) Co-authored-by: Yong He <yhe@nvidia.com> | 10 January 2023, 20:42:55 UTC |
eb813fb | jsmall-nvidia | 09 January 2023, 15:27:57 UTC | Small fixes to cuda-target.md | 09 January 2023, 15:27:57 UTC |
39f1e4a | jsmall-nvidia | 09 January 2023, 15:26:13 UTC | Fix typo in CUDA target docs | 09 January 2023, 15:26:13 UTC |
b985b1b | jsmall-nvidia | 06 January 2023, 22:20:42 UTC | Fix small issue around emitInterpolationModifiersImpl when layout is nullptr. (#2583) * #include an absolute path didn't work - because paths were taken to always be relative. * Fix output when layout is nullptr in emitInterpolatioModifiersImpl | 06 January 2023, 22:20:42 UTC |
33fb959 | Yong He | 06 January 2023, 21:39:06 UTC | Split bwd_diff op into separate ops for primal and propagate func. (#2582) * Split bwd_diff op into separate ops for primal and propagate func. * Fix. * Download swiftshader with github actions instead of curl on linux. * Fix github action. Co-authored-by: Yong He <yhe@nvidia.com> | 06 January 2023, 21:39:06 UTC |
e70cbe7 | Ellie Hermaszewska | 06 January 2023, 19:02:47 UTC | Fix validation errors (and hang) in swapchain resize test (#2578) * Use same format as swapchain for framebuffer in swapchain resize test * Use correct resource state for vertex buffer in swapchain resize test * Call acquireNextImage before drawing to fix validation error in swapchain resize test | 06 January 2023, 19:02:47 UTC |
7f64b2a | Sai Praveen Bangaru | 04 January 2023, 18:10:13 UTC | Multi-block reverse-mode autodiff (#2576) * Initial multi-block implementation * Implemented multi-block reverse-mode (without loops) * Added logic to remove block-level decorations to avoid confusing IR simplification passes * Fixed issues with block-level decorations during IR simplification by removing them prior to simplification. Co-authored-by: Yong He <yonghe@outlook.com> | 04 January 2023, 18:10:13 UTC |
e8f977a | Ellie Hermaszewska | 04 January 2023, 12:02:04 UTC | Avoid dots in auto-detected filename extensions (#2566) Supersedes #2532 | 04 January 2023, 12:02:04 UTC |
57e9786 | Ellie Hermaszewska | 04 January 2023, 12:01:42 UTC | Add format checking attributes on printf-like functions (#2570) * Add format checking attributes on printf-like functions * Don't use printf format attributes on msvc Where they are not supported | 04 January 2023, 12:01:42 UTC |
6dbdb74 | Yong He | 21 December 2022, 23:25:38 UTC | Further unify the autodiff passes. (#2574) * Further unify the autodiff passes. * Fix clang compilation error. * Rename ForwardDerivativeTranscriber->ForwardDiffTranscriber. * Remove unused fields from Transcriber classes. * More small cleanups. * Cleanup. Co-authored-by: Yong He <yhe@nvidia.com> | 21 December 2022, 23:25:38 UTC |
8878429 | Yong He | 19 December 2022, 20:36:39 UTC | Update to checkout@v3 (#2572) Co-authored-by: Yong He <yhe@nvidia.com> | 19 December 2022, 20:36:39 UTC |
216dfba | Yong He | 19 December 2022, 19:47:19 UTC | Separate primal computations from unzipped function into an explicit function. (#2569) Co-authored-by: Yong He <yhe@nvidia.com> | 19 December 2022, 19:47:19 UTC |
36220da | Ellie Hermaszewska | 19 December 2022, 16:20:58 UTC | s/TRACTING/TRACING/ (#2567) Closes #2561 | 19 December 2022, 16:20:58 UTC |
145a0f6 | Ellie Hermaszewska | 19 December 2022, 16:20:24 UTC | Correct user guide's section on preprocessor directives (#2565) | 19 December 2022, 16:20:24 UTC |
1c2c490 | Yong He | 14 December 2022, 17:37:55 UTC | Fix code generation for matrix reshape. (#2568) Co-authored-by: Yong He <yhe@nvidia.com> | 14 December 2022, 17:37:55 UTC |
5ce8d4c | skallweitNV | 14 December 2022, 17:11:01 UTC | Shader cache improvements (#2564) * Make shader cache tests check the output buffer * Add shader cache eviction test * Cleanup comments * Improve TestReporter thread safety * Split lockFile test into two tests * Cleanup PersistentCache tests * Disable multi-threaded tests on aarch64 | 14 December 2022, 17:11:01 UTC |
9d04835 | Sai Praveen Bangaru | 12 December 2022, 22:33:44 UTC | Added support for nested calls (#2562) * Added initial support for nested calls * removed comments Co-authored-by: Yong He <yonghe@outlook.com> | 12 December 2022, 22:33:44 UTC |
c2dc1a8 | skallweitNV | 12 December 2022, 18:25:48 UTC | Refactor shader cache (#2558) * Fix a bug in Path::find * Fix code formatting * Fix LockFile and add LockFileGuard * Add PersistentCache and unit test * Replace file path dependency list with source file dependency list * Add note on ordering in Module/FileDependencyList * Remove old shader cache code * Refactor shader cache implementation * Temporarily skip unit tests reading/writing files * Fix warning * Reenable lock file test * Rename shader cache tests and disable crashing test * Testing * Stop using Path::getCanonical * Fix persistent cache lock and test * Fix threading issues * Move adding file dependency hashes to getEntryPointHash() * Fix handling of #include files * Allow specifying additional search paths for gfx testing device * Work on shader cache tests * Update project files * Revive shader cache graphics tests * Split graphics pipeline test * Fix compilation | 12 December 2022, 18:25:48 UTC |
8d359fc | Yong He | 09 December 2022, 17:09:53 UTC | Add `diffPair` stdlib function. (#2560) | 09 December 2022, 17:09:53 UTC |
41eb19e | Yong He | 08 December 2022, 22:56:20 UTC | Auto-diff for matrix operations. (#2559) Co-authored-by: Yong He <yhe@nvidia.com> | 08 December 2022, 22:56:20 UTC |
468bb7e | Sai Praveen Bangaru | 08 December 2022, 16:50:55 UTC | More type support for reverse-mode (#2551) * Add vector arithmetic test. Make gradient accumulation work for any IRLoad * Added support for general vector types, and split transposition into transpose & materialize to allow emitting the fully accumulated gradient for complex types. * Several bug fixes + finished up support for vector & struct types + removed prop pass * minor fixes (int/uint casts) * Removed IRConstruct * Added some type casts to prevent warnings * minor fix for unused variable | 08 December 2022, 16:50:55 UTC |
53e891e | Yong He | 07 December 2022, 21:42:48 UTC | Rename IR opcodes to unify style. (#2556) Co-authored-by: Yong He <yhe@nvidia.com> | 07 December 2022, 21:42:48 UTC |
7071470 | Yong He | 07 December 2022, 20:52:20 UTC | Remove `construct` IR op. (#2555) Co-authored-by: Yong He <yhe@nvidia.com> | 07 December 2022, 20:52:20 UTC |
3a3a8b5 | Yong He | 07 December 2022, 20:02:30 UTC | Lower-to-ir no longer produce `Construct` inst. (#2553) Co-authored-by: Yong He <yhe@nvidia.com> | 07 December 2022, 20:02:30 UTC |
f116f43 | skallweitNV | 07 December 2022, 16:21:22 UTC | Make slang-test depend on test tool libraries (#2554) | 07 December 2022, 16:21:22 UTC |
989ea01 | Yong He | 02 December 2022, 18:27:33 UTC | Move `performanceStringInlining` to after `finalizeAutoDiffPass`. (#2550) Co-authored-by: Yong He <yhe@nvidia.com> | 02 December 2022, 18:27:33 UTC |
fcffce7 | jsmall-nvidia | 02 December 2022, 16:47:48 UTC | Disable end of line trim in .editorconfig (#2546) * #include an absolute path didn't work - because paths were taken to always be relative. * Disable end of line whitespace. | 02 December 2022, 16:47:48 UTC |
e9b7c66 | skallweitNV | 02 December 2022, 15:34:53 UTC | Cleanup crypto utilities (#2549) * Consolidate crypto functions into single module * Migrate rest of code to new crypto module * Fix name conflict | 02 December 2022, 15:34:53 UTC |
92ae494 | jsmall-nvidia | 02 December 2022, 14:29:38 UTC | Inline functions with string param/return for GPU targets (#2544) * #include an absolute path didn't work - because paths were taken to always be relative. * WIP inlining of functions that take or return string related types on GPU targets. * Small fixes. * Added a test. * Add checking for any getStringHash insts are valid. * Support getStringHash on CUDA. * Tweak diagnostic. | 02 December 2022, 14:29:38 UTC |
30b5335 | winmad | 02 December 2022, 09:01:58 UTC | Add helper functions to update DifferentialPair (#2547) | 02 December 2022, 09:01:58 UTC |
1562e73 | Yong He | 02 December 2022, 06:30:24 UTC | Cleanup creation of `IDifferentiableType` in semantics checking. (#2548) Co-authored-by: Yong He <yhe@nvidia.com> | 02 December 2022, 06:30:24 UTC |
f7d32a3 | Yong He | 02 December 2022, 05:28:38 UTC | include `slang-rt` in windows release package. (#2542) Co-authored-by: Yong He <yhe@nvidia.com> | 02 December 2022, 05:28:38 UTC |
6ba4e6c | jsmall-nvidia | 02 December 2022, 03:03:37 UTC | Enable multithread build in premake (#2545) | 02 December 2022, 03:03:37 UTC |
e7df853 | Yong He | 02 December 2022, 02:55:43 UTC | Allow `no_diff` on `this` parameter. (#2543) | 02 December 2022, 02:55:43 UTC |
f51f69d | Yong He | 30 November 2022, 22:53:53 UTC | Fix missing semantic highlighting in attributes and ExtractExitentialValueExpr. (#2541) * Fix missing semantic highlighting in attributes and ExtractExitentialValueExpr. * Fix regression on partially specialized generic expr highlighting. * Add regression test. Co-authored-by: Yong He <yhe@nvidia.com> | 30 November 2022, 22:53:53 UTC |
976f578 | skallweitNV | 30 November 2022, 21:26:55 UTC | Cleanup DigestBuilder and MD5HashGen (#2539) * Cleanup DigestBuilder and MD5HashGen * Fix templates Co-authored-by: Yong He <yonghe@outlook.com> | 30 November 2022, 21:26:55 UTC |
0968422 | Yong He | 30 November 2022, 21:24:39 UTC | Support `no_diff` on existential typed params. (#2540) Co-authored-by: Yong He <yhe@nvidia.com> | 30 November 2022, 21:24:39 UTC |
f52b4de | Yong He | 30 November 2022, 02:17:33 UTC | Allow `no_diff` modifier on parameters (#2538) | 30 November 2022, 02:17:33 UTC |
f558178 | Sai Praveen Bangaru | 30 November 2022, 01:01:41 UTC | Refactored reverse-mode implementation to use 4 separate passes. (#2531) * Added partial implementation for reverse-mode * Fixing several compile and runtime errors. * Fixed several issues with reverse-mode passes. * Fixed more issues. Basic reverse-mode tests passing Co-authored-by: Edward Liu <shiqiu1105@gmail.com> | 30 November 2022, 01:01:41 UTC |
af7f400 | Yong He | 29 November 2022, 22:16:05 UTC | Complete removal of DifferentialBottom type. (#2537) Co-authored-by: Yong He <yhe@nvidia.com> | 29 November 2022, 22:16:05 UTC |
d85c7b8 | lucy96chen | 29 November 2022, 20:35:54 UTC | FileStream-based implementation for updating cache index file (#2485) * Draft FileStream-based implementation for updating cache file * File streams fully integrated into shader cache code paths; Tests will not run unless file system is on disk as file streams do not play nicely with in-memory * Brought old code back as fallback path, but tests need to ensure previous is freed first * Testing structure updated, beginning cleanup work * All tests working * Cleanup changes * Removed an extra tab at the end of a line * Cleanup change * Undo externals change * Removed redundant logic for OS vs memory file system handling of the shader cache; Removed extra helper function left over from old cache implementation * Reverted performance change to generate contents hashes when modules are being loaded as this code path is not always followed; Contents hashing now uses a combination of hashing and checking the last modified time for all file dependencies, only reading in and hashing the contents of all files if the last modified hash does not match * Added handling to Module::updateContentsBasedHash for file dependencies which are not from a physical source file on disk; Added test for above Co-authored-by: Lucy Chen <lucchen@nvidia.com> Co-authored-by: Yong He <yonghe@outlook.com> | 29 November 2022, 20:35:54 UTC |
d60c925 | Yong He | 29 November 2022, 19:44:47 UTC | Bug fix: partially specialized non-static generic invoke missing `this` argument. (#2536) * Fix non-static generic func call issue. * Add test case. * Revert unnecessary change. * Update test comment. Co-authored-by: Yong He <yhe@nvidia.com> | 29 November 2022, 19:44:47 UTC |
a54471a | skallweitNV | 28 November 2022, 16:18:29 UTC | Add LockFile helper class (#2535) * Add LockFile helper class | 28 November 2022, 16:18:29 UTC |
1b40fe5 | Yong He | 24 November 2022, 01:50:02 UTC | Make differentiable data-flow pass recognize interface methods. (#2530) * Make differentiable data-flow pass recognize interface methods. * Make existing test to work with `[TreatAsDifferentiable]`. Co-authored-by: Yong He <yhe@nvidia.com> | 24 November 2022, 01:50:02 UTC |
d4787e9 | Yong He | 24 November 2022, 00:09:10 UTC | Update comments in test. (#2529) Co-authored-by: Yong He <yhe@nvidia.com> | 24 November 2022, 00:09:10 UTC |
4ad0470 | Yong He | 24 November 2022, 00:02:56 UTC | Fix issues around dynamic generic function and autodiff. (#2528) * Fix issues around dynamic generic function and autodiff. * Fix return type issue. * Fix type unification for generic `inout` parameter. * Fix. Co-authored-by: Yong He <yhe@nvidia.com> | 24 November 2022, 00:02:56 UTC |
97cb485 | Yong He | 23 November 2022, 17:39:08 UTC | Autodiff through simple dynamic dispatch. (#2527) * Autodiff through simple dynamic dispatch. * Revert changes. * Fix. Co-authored-by: Yong He <yhe@nvidia.com> | 23 November 2022, 17:39:08 UTC |
6178cb6 | Sai Praveen Bangaru | 22 November 2022, 17:36:28 UTC | Refactor Auto-diff passes (#2526) * Initial refactor * Refactor passes tests * Removed Differential Bottom references from the IR side | 22 November 2022, 17:36:28 UTC |
d9b014c | Sai Praveen Bangaru | 21 November 2022, 20:24:34 UTC | Added autodiff design doc (#2524) Co-authored-by: Yong He <yonghe@outlook.com> | 21 November 2022, 20:24:34 UTC |
b5626d4 | Yong He | 21 November 2022, 20:23:01 UTC | Improve parser recovery around invalid function definitions. (#2525) * Improve parser recovery around invalid function definitions. * Fix. * Clean up. * Clean up. Co-authored-by: Yong He <yhe@nvidia.com> | 21 November 2022, 20:23:01 UTC |
545de51 | Sai Praveen Bangaru | 21 November 2022, 15:29:57 UTC | WIP: Fixed inout struct and added testing for calls to non-differentiable functions (#2505) * Added non-differentiable call test * Extended testing for nondifferentiable calls * Fixed subtle issue with extensions on generic types not applying the correct substitutions, leading to unspecialized generics at the emit stage * More fixes. inout struct params now work fine * Update inout-struct-parameters-jvp.slang * Update slang-ir.cpp * Fixed hoisting lookup_interface_method * Fixed non-diff call return value * Fixed issue with phi nodes * Fixed problem with IRSpecialize preventing hoisitng of DifferentialPairType * Fixed non-diff call test to conform to the new 'no_diff' system | 21 November 2022, 15:29:57 UTC |
d58e08f | Yong He | 18 November 2022, 20:37:27 UTC | Data flow validation pass for diagnosing derivative loss. (#2523) | 18 November 2022, 20:37:27 UTC |
0a050a4 | jsmall-nvidia | 18 November 2022, 20:25:12 UTC | Small fixes around SER on VK (#2522) * #include an absolute path didn't work - because paths were taken to always be relative. * Fixes for Shader Execution Reordering for VK based on testing via GLSLANG with SER support. * Update test results with SER VK fixes. | 18 November 2022, 20:25:12 UTC |
e13d38b | Yong He | 17 November 2022, 00:08:51 UTC | Language server improvements for auto-diff. (#2521) | 17 November 2022, 00:08:51 UTC |
801aa3b | Yong He | 16 November 2022, 20:17:49 UTC | Clean up type checking of higher order expressions. (#2519) * Clean up type checking of higher order expressions. * Replace `goto` with `break` to pacify clang. * Fix. * Fixes. * Fix more tests. * Fix lowerWitnessTable parameter error. * Exclude attributes from ast printing. Co-authored-by: Yong He <yhe@nvidia.com> | 16 November 2022, 20:17:49 UTC |
09d8e04 | Ellie Hermaszewska | 16 November 2022, 19:33:10 UTC | Squash warnings (#2515) * Don't use uname -p It's not portable (doesn't work on my machine) * Disable maybe-uninitialized warning on gcc Only false positives at the moment * Squash warning in miniz Allow it to use 64 bit file handing functions with gcc * Use noreturn c++11 attribute in SLANG_RETURN_NEVER * Squash uninitialized variable warnings * Squash const char/char conversion warnings Co-authored-by: Yong He <yonghe@outlook.com> | 16 November 2022, 19:33:10 UTC |
8d50047 | jsmall-nvidia | 16 November 2022, 15:17:19 UTC | `slang-llvm` 13.x-32 (#2518) * #include an absolute path didn't work - because paths were taken to always be relative. * Upgrade to slang-llvm-13.x-32 | 16 November 2022, 15:17:19 UTC |
1643471 | Ellie Hermaszewska | 16 November 2022, 01:49:06 UTC | Mesh shader support (#2464) * Add gdb generated files to .gitignore * Switch to c++17 TODO: Ellie update coding style doc * WIP mesh shaders * Add MeshOutputType and mesh output decorations * Lift array type layout creation out of _createTypeLayout in preparation for sharing it elsewhere * Initial pass at GLSL legalization for mesh shaders * Create output types for builtin mesh outputs This should be rendered as an out paramter block * Handle writes to member fields in mesh shader output * Per primitive output from mesh shaders * Add mesh shader tests * Redeclare mesh output builtins * Remove unused instruction * Emit explicit mesh output max max size * Add unimplemented warning for array members in mesh output * Implement mesh output splitting for GLSL in terms of getSubscriptVal * Allow HLSL syntax for mesh output modifiers * Improve error messages for mesh output * Add test for HLSL style mesh output syntax * Emit explicit mesh output indices max size * HLSL generation support for mesh shaders * Better errors for mesh shader misuse * Neaten comments * Regenerate vs2019 project files * Fix build on vs2019 * Retreat on c++17 Will make the change in a separate PR * slang-glslang binary dep 11.10.0 -> 11.12.0-32 * Fixes for msvc compiler * Update msvc project | 16 November 2022, 01:49:06 UTC |
4917d71 | jsmall-nvidia | 15 November 2022, 20:27:28 UTC | Shader Execution Reordering for VK (#2491) * #include an absolute path didn't work - because paths were taken to always be relative. * Fixes around MakeMiss. * Add preliminary support for HitObject::MakeHit. * Make Nop. * Add HitObject::TraceRay. * HitObject::Invoke for VK. * Remove line numbers from SER GLSL output. * Add support for HitObjectAttributes Add support for GLSL HitObject.GetAttributes<T>() Simplified code around getting locations. * Be more explicit about requiring GL_EXT_ray_tracing in SER. * Split out LocationTracker from CLikeEmitter. * Small doc improvements. * Add motion ray support. * Use inlining to get correct GLSL behavior around hitObjectNV. * Add assignment HitObject test. * Add a HitObject array test. Shows doesn't work correctly for VK/GLSL. * Add call to `hitObjectGetAttributesNV` before getting attributes. | 15 November 2022, 20:27:28 UTC |
7222b6c | jsmall-nvidia | 15 November 2022, 19:38:25 UTC | Specify downstream compiler include paths (#2517) * #include an absolute path didn't work - because paths were taken to always be relative. * WIP around testing with NVAPI. * Make -I work for downstream compilers. Update docs. * Small improvement around ignoring tests. | 15 November 2022, 19:38:25 UTC |
069768d | Ellie Hermaszewska | 15 November 2022, 14:37:05 UTC | Add mesh and amplification shaders to slang-glslang (#2516) | 15 November 2022, 14:37:05 UTC |
25affe8 | winmad | 15 November 2022, 00:43:55 UTC | Adding some math functions and their derivatives (#2497) | 15 November 2022, 00:43:55 UTC |
368ec31 | Edward Liu | 14 November 2022, 20:08:01 UTC | Minimum binary arithmetic reverse autodiff working. (#2514) * Initial plumbing of backward autodiff in the frontend. * More plumbing. * Initial reverse autodiff working. * Bug fixes. * Misc. * Remove redundant code. * More clean up. * Misc. * Rebase and add backward diff test. * Disable test. * Clean up. * Minor fix. Co-authored-by: Yong He <yhe@nvidia.com> | 14 November 2022, 20:08:01 UTC |
623f5c3 | Ellie Hermaszewska | 14 November 2022, 03:27:00 UTC | glslang: 11.10.0-16-g42398c93 -> 11.12.0-32-gf74f37c5 (#2507) | 14 November 2022, 03:27:00 UTC |
3e312b3 | jsmall-nvidia | 10 November 2022, 23:38:19 UTC | Improvements to NVRTC diagnostic parsing (#2504) * #include an absolute path didn't work - because paths were taken to always be relative. * Float16 support for C++/CPU based targets with f16tof32 and f32tof16. * Small correction around INF/NAN handling for f32tof16 * Small improvement to f16tof32 * Disable CUDA test for now. * Improvements to NVRTC diagnostic parsing. Handle compilerSpecificArgs. Fix issue with terminating nul ending up in diagnostic string. * Improved NVRTC error parsing. f32tof16 and f16tof32 work in principal on CUDA. * Small update to test, although they remain disabled. * Work around SLANG_E_NOT_AVAILABLE being turned into ignored, when a legitimate error is found * A more tightly constrained fallback NVRTC diagnostic parsing. * Remove CharUtil, as not neeed. Co-authored-by: Yong He <yonghe@outlook.com> | 10 November 2022, 23:38:19 UTC |
0b05fe3 | Yong He | 10 November 2022, 22:19:20 UTC | Fix inlining pass. (#2506) * Fix inlining pass. * Add more check against corner cases. * Revise comments. * Fixes. * Fix premake script. * Fixes. Co-authored-by: Yong He <yhe@nvidia.com> | 10 November 2022, 22:19:20 UTC |
10834e6 | jsmall-nvidia | 10 November 2022, 21:10:14 UTC | Update nvapi-support.md | 10 November 2022, 21:10:14 UTC |
610851a | Yong He | 10 November 2022, 17:44:00 UTC | Fix document toc. (#2510) Co-authored-by: Yong He <yhe@nvidia.com> | 10 November 2022, 17:44:00 UTC |
66b5351 | Yong He | 10 November 2022, 17:32:30 UTC | Update document toc (#2509) Co-authored-by: Yong He <yhe@nvidia.com> | 10 November 2022, 17:32:30 UTC |
d5e4854 | Yong He | 10 November 2022, 17:19:55 UTC | Update documentation on new features (#2508) * Update documentation on new features * Fix. Co-authored-by: Yong He <yhe@nvidia.com> | 10 November 2022, 17:19:55 UTC |
004f6e3 | Yong He | 10 November 2022, 03:19:17 UTC | Add `[ForwardDerivativeOf]` attribute. (#2501) * Add [ForwardDerivativeOf] attribute. * Fix handling around phi nodes. * Fixes. * Remove IR opcode for ForwardDerivativeOfDecoration. Co-authored-by: Yong He <yhe@nvidia.com> | 10 November 2022, 03:19:17 UTC |
cedd936 | skallweitNV | 09 November 2022, 19:56:55 UTC | Fix supported shader model check in D3D12 device (#2503) * Fix supported shader model check in D3D12 device * Add comment on shader model list order. Co-authored-by: jsmall-nvidia <jsmall@nvidia.com> | 09 November 2022, 19:56:55 UTC |
e743ddd | jsmall-nvidia | 09 November 2022, 14:15:15 UTC | f32tof16 and f16tof32 support for CPU targets (#2500) * #include an absolute path didn't work - because paths were taken to always be relative. * Float16 support for C++/CPU based targets with f16tof32 and f32tof16. * Small correction around INF/NAN handling for f32tof16 * Small improvement to f16tof32 * Disable CUDA test for now. | 09 November 2022, 14:15:15 UTC |
bf67309 | Yong He | 08 November 2022, 18:07:57 UTC | Make `__BuiltinFloatingPointType` conform to `IDifferentiable`. (#2499) | 08 November 2022, 18:07:57 UTC |
ca882a1 | Yong He | 07 November 2022, 20:26:29 UTC | Small cleanups on forward differentiation. (#2498) Co-authored-by: Yong He <yhe@nvidia.com> | 07 November 2022, 20:26:29 UTC |
ea99c27 | skallweitNV | 07 November 2022, 16:59:15 UTC | Initial version of DeviceLimits implemented in d3d12, d3d11, vulkan and cuda (#2496) | 07 November 2022, 16:59:15 UTC |
72ce058 | skallweitNV | 07 November 2022, 14:06:58 UTC | Make adapterLUID const pointer (#2494) | 07 November 2022, 14:06:58 UTC |
a20f6a0 | Yong He | 05 November 2022, 00:06:29 UTC | Use property for `DifferentialPair` accessors. (#2493) | 05 November 2022, 00:06:29 UTC |
c6e6b7a | Yong He | 04 November 2022, 16:36:23 UTC | Higher order differentiation. (#2487) Co-authored-by: Yong He <yhe@nvidia.com> | 04 November 2022, 16:36:23 UTC |
015bde8 | skallweitNV | 04 November 2022, 16:34:53 UTC | Add AdapterLUID to identify GPU adapters (#2492) * Add AdapterLUID to identify GPU adapters * Remove adapter option in render-test | 04 November 2022, 16:34:53 UTC |
9a3a4b0 | jsmall-nvidia | 03 November 2022, 18:31:51 UTC | Shader Execution Reordering without HLSL2021 (#2489) * #include an absolute path didn't work - because paths were taken to always be relative. * Disable SER tests and enabling HLSL2021 by default. * Small typos fix. Improve SER coverage in testing. * Fix typo. | 03 November 2022, 18:31:51 UTC |
8f9d584 | skallweitNV | 03 November 2022, 15:58:49 UTC | Add gfxGetAdapters function (currently implemented for D3D12/Vulkan) (#2486) * Add gfxGetAdapters function (currently implemented for D3D12/Vulkan) * Extend to handle DirectX11 and CUDA * Use blob to return adapter list and add AdapterList helper * Replace strncpy with memcpy Co-authored-by: jsmall-nvidia <jsmall@nvidia.com> | 03 November 2022, 15:58:49 UTC |
203b5d7 | jsmall-nvidia | 03 November 2022, 15:48:43 UTC | Disable HLSL2021 by default (#2488) * #include an absolute path didn't work - because paths were taken to always be relative. * Disable SER tests and enabling HLSL2021 by default. | 03 November 2022, 15:48:43 UTC |
2e1c15f | Yong He | 02 November 2022, 19:12:18 UTC | Rework differential conformance dictionary checking. (#2483) * Rework differential conformance dictionary checking. * Revert space changes. Co-authored-by: Yong He <yhe@nvidia.com> | 02 November 2022, 19:12:18 UTC |
fb29bd3 | jsmall-nvidia | 02 November 2022, 13:47:35 UTC | Shader Execution Reordering (via NVAPI) (#2484) * #include an absolute path didn't work - because paths were taken to always be relative. * Preliminary SER NVAPI support. * Set the DXC compiler version. Fix typo in premake5.lua * Improve DXC version detection. Enable HLSL2021 on late enough version of DXC. * Fix typo. * Fix launch. * Test via DXIL output. * Update dxc-error output. | 02 November 2022, 13:47:35 UTC |
487855e | Yong He | 01 November 2022, 17:24:04 UTC | Remove unnecessary `:IDifferentiable` conformance in tests. (#2482) Co-authored-by: Yong He <yhe@nvidia.com> | 01 November 2022, 17:24:04 UTC |
1817e95 | Sai Praveen Bangaru | 01 November 2022, 16:55:36 UTC | Added a vector intrinsic definition for exp (to serve as template for other vector intrinsics) (#2481) * Added vector exp definition * Naming | 01 November 2022, 16:55:36 UTC |
cbc1eff | Yong He | 01 November 2022, 15:46:57 UTC | Make `DifferentialPair` able to nest. (#2477) | 01 November 2022, 15:46:57 UTC |