0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-10 12:38:36 +02:00
Commit graph

5499 commits

Author SHA1 Message Date
Jason Volk b4e4c06890 ircd:🆑 Refactor interface for map-only/zero-copy approach. 2022-06-17 21:11:53 -07:00
Jason Volk aba8b6813e ircd:🆑 Remove the host ptr conf item for now. 2022-06-17 21:11:53 -07:00
Jason Volk 9fb199ecf7 ircd:🆑 Add data maps/refs counts to interface wrapping. 2022-06-17 21:11:53 -07:00
Jason Volk fd39de53f4 ircd:🆑 Split header into directory; minor reorg. 2022-06-17 21:11:53 -07:00
Jason Volk b39d3396f9 ircd:🆑 Decrease kern::range dimension. 2022-06-17 21:11:53 -07:00
Jason Volk 729092d410 ircd:🆑 Cleanup / split library linkage to private memfun; bind now.
Bind now to prevent issues from lazy binding on different threads and
when overriding with custom builds of mesa/icd.
2022-06-17 21:11:53 -07:00
Jason Volk d817536e23 ircd::simt: Use defined epsilon for normalization smoothing for now. 2022-06-17 21:11:53 -07:00
Jason Volk 95c4e0af52 ircd:🆑 Simplify data interface related for now. 2022-06-17 21:11:53 -07:00
Jason Volk 013117495c ircd::util: Add volatile overload for alignment checker. 2022-06-17 21:11:53 -07:00
Jason Volk 9c7ac98d9a ircd::util: Add involatile_cast() template convenience. 2022-06-17 21:11:53 -07:00
Jason Volk c9796fa9e0 ircd:🆑 Allow optional map closures; add write invalidate flag from cl1.2. 2022-06-17 21:11:53 -07:00
Jason Volk e68b93fa61 ircd::fpe: Add debug log info; cold sections. 2022-06-17 21:11:53 -07:00
Jason Volk 8e268023d1 ircd: Add cfloat to standard include. 2022-06-17 21:11:53 -07:00
Jason Volk b7b1328352 ircd::gpt::pipe: Reuse logsm buffer for logexp intermediate values. 2022-06-17 21:11:53 -07:00
Jason Volk 2604f1370a ircd::buffer: Move abstract align/padding tools to ircd::util. 2022-06-17 21:11:53 -07:00
Jason Volk c92481475f ircd::buffer: Add padding bool constexpr; minor cleanup. 2022-06-17 21:11:53 -07:00
Jason Volk 6843d7a98d ircd::fs: Support more exotic alignments for memory mapped files. 2022-06-17 21:11:53 -07:00
Jason Volk b3dc9a9ac3 ircd::simt: Fixes for non-pow2 workgroup sizes. 2022-06-17 21:11:53 -07:00
Jason Volk 8bb8c19cda ircd::allocator: Add mlock2(2) interface wrapping. 2022-06-17 21:11:53 -07:00
Jason Volk d029de6a7a ircd::tokens: Simplify overload resolution w/ closure bool return. 2022-06-17 21:11:53 -07:00
Jason Volk 9fcca617df ircd::util: Complete the closure_bool template tool. 2022-06-17 21:11:53 -07:00
Jason Volk 0b2b243c71 ircd::fs: Extend map interface with flush/sync. 2022-06-17 21:11:53 -07:00
Jason Volk 73cd22c7d0 ircd::allocator: Add msync(2) wrapping. 2022-06-17 21:11:53 -07:00
Jason Volk 13052f7090 ircd:🆑 Elaborate code compile/link build interface for cl1.2+. 2022-06-17 21:11:53 -07:00
Jason Volk 2b30d775b9 ircd::simt: Add intrinsic integer max. 2022-06-17 21:11:53 -07:00
Jason Volk 26ce330d6d ircd::gpt: Add layer count to model section of opts. 2022-06-17 21:11:53 -07:00
Jason Volk d844ec895c ircd::gpt: Simplify aperature unions. 2022-06-17 21:11:53 -07:00
Jason Volk a7560b5cfc ircd::gpt::pipe::code: Preliminary reorg for legacy NIR build cache. 2022-06-17 21:11:53 -07:00
Jason Volk 8d6496956d ircd::tokens: Allow signed argument for tokens_after() for zeroth token. 2022-06-17 21:11:53 -07:00
Jason Volk 271214ff70 ircd::allocator: Add mprotect(2) wrappings. 2022-06-17 21:11:53 -07:00
Jason Volk 55004f054a ircd::simt: Use native_sqrt(); minor cleanup / named statement. 2022-06-17 21:11:53 -07:00
Jason Volk d733fe8ef9 ircd::simt: Add overloads for scalar types for now. 2022-06-17 21:11:53 -07:00
Jason Volk 5e824a4f6f ircd::simt: Simplify LDS broadcast. 2022-06-17 21:11:53 -07:00
Jason Volk 12f3eb871d ircd::simt: Fix buffer and ordering hokey-pokey. 2022-06-17 21:11:53 -07:00
Jason Volk 781ead25b5 ircd:🆑 Add shlib path conf. 2022-06-17 21:11:53 -07:00
Jason Volk 65322352b0 ircd::spirit: Workarounds for clang-13. 2022-06-17 21:11:53 -07:00
Jason Volk 35986844bb ircd::ios: Fixes for boost::asio 1.74+. 2022-06-17 21:11:53 -07:00
Jason Volk cb8362ba51 ircd: Correct/abridge various comments. 2022-06-17 21:11:52 -07:00
Jason Volk d0a1d32488 ircd::db: Add SST scan interface w/ console suite. 2022-06-17 21:11:52 -07:00
Jason Volk 4499bb0f35 ircd::db: Deprecate forking sst::tool() iface; remove crashy console cmd. 2022-06-17 21:11:52 -07:00
Jason Volk 38f6507434 ircd::simt: Relax define guards for stdclc++ compat. 2022-06-17 21:11:52 -07:00
Jason Volk a85f192066 ircd::simt: Move workgroup ident values to arguments. 2022-06-17 21:11:52 -07:00
Jason Volk b6207fac74 ircd:🆑 Add cl_program wrap for source and binary extrication. 2022-06-17 21:11:52 -07:00
Jason Volk 1c668b038c ircd:🆑 Move submit blocking watchdog threshold into conf item. 2022-06-17 21:11:52 -07:00
Jason Volk e6a71efe8c ircd:🆑 Sample tsc for work item submission for blocking interface mitigations. 2021-10-16 15:24:23 -07:00
Jason Volk 9401c206a1 ircd:🆑 Check and throw for unavailability in work item ctor. 2021-10-15 11:40:32 -07:00
Jason Volk 31431d32c5 ircd: Add utility to beep the pcspeaker. 2021-10-06 16:36:52 -07:00
Jason Volk 422c4da624 ircd::simt: Add a local variant for prng. 2021-10-06 13:13:47 -07:00
Jason Volk 1be7a8dea2 ircd:🆑 Fix name interface related; copy value string. 2021-10-06 13:13:47 -07:00
Jason Volk 8ffdddf860 ircd:🆑 Improve queue profiling wrapper related. 2021-10-06 13:13:47 -07:00
Jason Volk 183ff2138f ircd:🆑 Split out init subs; add semver parse for device api. 2021-10-06 13:13:47 -07:00
Jason Volk a04cc3c290 ircd:🆑 Split platform info banner out of main init. 2021-10-06 13:13:47 -07:00
Jason Volk c05e5e09de ircd:🆑 Additional informational interfaces; kernel names; typing. 2021-10-06 13:13:47 -07:00
Jason Volk aea6c79fc2 ircd::gpt: Add top N and target label result register control block. 2021-10-06 13:13:47 -07:00
Jason Volk 8bd78af128 ircd::gpt: Additional task header/interface simplification. 2021-10-06 13:13:47 -07:00
Jason Volk b72a4590b1 ircd::gpt: Task header reorganization/resimplification. 2021-10-06 13:13:47 -07:00
Jason Volk c1f3e580c3 ircd::gpt: Add top_p lmhead selector, quantized for now. 2021-10-06 13:13:47 -07:00
Jason Volk 8a3eeb46f9 ircd::gpt::pipe: Optimize pipeline to cache attention state for generations. 2021-10-06 13:13:47 -07:00
Jason Volk 79b6d4b9da ircd::gpt::pipe: Unify descriptor allocations. 2021-10-06 13:13:47 -07:00
Jason Volk 9628585f43 ircd:🆑 Add condition for null size slice construction. 2021-10-06 13:13:47 -07:00
Jason Volk d0c2674b3e ircd:🆑 Add data::offset() to interface. 2021-10-06 13:13:47 -07:00
Jason Volk ce9abfb321 ircd::gpt::model: Optimize left-attention mask. 2021-10-06 13:13:47 -07:00
Jason Volk f1051cf56b ircd::simt: Implement bitonic sort; replace stub. 2021-09-15 01:44:36 -07:00
Jason Volk a82e7bf280 ircd: Reduce code generated for argument prep in assert block; jump directly to lfence. 2021-09-15 01:44:36 -07:00
Jason Volk 20162fd7d5 ircd::gpt: Splits and renames; various reorg. 2021-09-15 01:44:36 -07:00
Jason Volk adbb974af0 ircd::mapi: Fix for non-standard-layout unique_ptr impl. 2021-09-14 23:39:55 -07:00
Jason Volk 120a382398 ircd::net::dns: Split delegate service_init/fini; fix error. 2021-09-14 23:39:55 -07:00
Jason Volk 6e7e56f081 ircd::gpt::pipe: Add conf item for default source paths and opts for now. 2021-09-14 23:39:55 -07:00
Jason Volk a67b93b8c6 ircd::buffer: Split buffers:: related into header. 2021-09-14 23:39:55 -07:00
Jason Volk 3e6fcf3a47 ircd::utf: Split header; improve decode codegen; inline length. 2021-09-14 23:39:55 -07:00
Jason Volk 880f089169 ircd::simd: Add pack convenience template funcro. 2021-09-14 23:39:55 -07:00
Jason Volk 6723539997 ircd::simd: Add template function for consistent lane-to-lane shufs. 2021-09-14 23:39:55 -07:00
Jason Volk 395bcf0789 ircd::simd: Split lane_id related into header. 2021-09-14 23:39:55 -07:00
Jason Volk 26a6fb50b6 ircd::simd: Inline accoutrements for lane_cast; cleanup asm annotes. 2021-09-14 23:39:55 -07:00
Jason Volk 705c1cc776 ircd::ios: Structure documentation briefs. [ci skip] 2021-09-14 23:39:55 -07:00
Jason Volk a30f06d80b ircd: Move scalar shorthand typedefs to stdinc.h. 2021-09-14 23:39:55 -07:00
Jason Volk 49fb5b13a2 ircd:🆑 Simplify parameter pack w/ fold expression; thanks @jonesmz 2021-08-08 09:47:02 -07:00
Jason Volk 71b1b44a7f ircd::utf: Rename encode() to encode_sparse(). 2021-08-08 09:47:02 -07:00
Jason Volk 1eec9bfd64 ircd::gpt: Remove unnecessary packed attribute. 2021-08-01 03:34:27 -07:00
Jason Volk 99f087afbe ircd::buffer: Fix anonymous scope ambiguity for gcc-10. 2021-05-14 05:57:47 -07:00
Jason Volk 4f97dcf456 ircd: Vector initialization fixes for GCC. 2021-05-14 05:57:47 -07:00
Jason Volk c3cb249f78 ircd::gpt: Split debug related; improve flush options; minor cleanup. 2021-05-14 05:57:47 -07:00
Jason Volk 179d9abcf7 ircd::simd: Improve typedefs for fp16; relax requirement. 2021-05-14 05:57:47 -07:00
Jason Volk 2c243be19a ircd:🆑 Add conf items for configuration environment; tweak loghead. 2021-05-12 00:05:09 -07:00
Jason Volk 467108f09a ircd:🆑 Add nice/intensity'ish rate-shaping option. 2021-05-11 20:56:09 -07:00
Jason Volk 37b1d47c8d ircd::gpt: Reorganize task options and control blocks. 2021-05-11 20:56:09 -07:00
Jason Volk 3e9c2d1b56 ircd::simt: Abstract the three-piece softmax, mean state related. 2021-05-11 20:56:09 -07:00
Jason Volk 5e91d51e6a ircd::simt: Add dressings for cross-inclusion. 2021-05-11 20:56:09 -07:00
Jason Volk d4e41218b0 ircd::ctx::pool: Simplify notify on work completion. 2021-05-11 20:56:09 -07:00
Jason Volk 5534672a07 ircd::fs: Move madvise suite to allocator unit. 2021-05-11 20:56:09 -07:00
Jason Volk d0c9a16770 ircd:🆑 Add interface for plat/dev info dump w/ console cmd. 2021-05-11 20:56:09 -07:00
Jason Volk f61239a52c ircd::gpt::pipe: Various statistical instrumentation. 2021-04-22 12:27:57 -07:00
Jason Volk 2a3c54afa2 ircd::gpt::pipe: Add model invalidation for device resynchronization. 2021-04-22 12:27:57 -07:00
Jason Volk bd460a80ce ircd::gpt::pipe::model: Additional sub-buffering for lmhead. 2021-04-22 12:27:57 -07:00
Jason Volk b6e2876af4 ircd::math: Add simd template wrapping for sqrt(). 2021-04-22 12:27:57 -07:00
Jason Volk d5eb1e3a87 ircd::gpt: Add backpropagation pipe. 2021-04-22 12:27:57 -07:00
Jason Volk 14a1561cad ircd::gpt: Add adaptive moment state to pipe model; move task prelim defs. 2021-04-22 12:27:57 -07:00
Jason Volk 4ed6582472 ircd:🆑 Allow no-op exec construction. 2021-04-22 12:27:57 -07:00
Jason Volk bc98835b3c ircd::simt: Simplify interface; internalize workitem functions. 2021-04-22 12:27:57 -07:00
Jason Volk 075b40400a ircd::simt: Split reduce tools; add float4 horizontal add. 2021-04-22 12:27:57 -07:00
Jason Volk eba5d7f586 ircd::gpt: Improve build related; debug/assertions. 2021-04-22 12:27:57 -07:00
Jason Volk de166dfab8 ircd::simt: Simplify various loop/mask conditionals; minor cleanup. 2021-04-22 12:27:57 -07:00
Jason Volk 9c062d9c3f ircd::gpt::pipe: Correctness; compute loss, statistics; pipeline optimize. 2021-04-22 12:27:57 -07:00
Jason Volk 20f81c55ea ircd: Move some typedefs to portable; minor reorg. 2021-04-22 12:27:57 -07:00
Jason Volk a476df4ca1 ircd::math: Simplify fmma template. 2021-04-22 12:27:57 -07:00
Jason Volk 86d985a42f ircd:🆑 Add kernel workgroup info convenience interface. 2021-04-22 12:27:57 -07:00
Jason Volk 1870c364f4 ircd::gpt: Reorganize interface. 2021-04-22 12:27:57 -07:00
Jason Volk f096e7fcf5 ircd: Typedef uchar if necessary. 2021-04-22 12:27:56 -07:00
Jason Volk 5962a58c1e ircd::simt: Start a CLC toolchest. 2021-04-22 12:27:56 -07:00
Jason Volk 29e74ec9e1 ircd::gpt: Transformer Pipe. 2021-04-22 12:27:56 -07:00
Jason Volk 29fb7910b7 ircd::gpt: Model structural tweaks; task structure; various. 2021-04-22 12:27:56 -07:00
Jason Volk cb45dcc840 ircd:🆑 Add subbuffer region handles to interface. 2021-04-22 12:27:56 -07:00
Jason Volk 2a730b2799 ircd:🆑:exec: Add more specific size/offset argument for map closure related. 2021-04-22 12:27:56 -07:00
Jason Volk 9e795acd72 ircd:🆑 Assert cl::data object not included in parameter template. 2021-04-22 12:27:56 -07:00
Jason Volk d5f1a490db ircd:🆑 Add flush and sync exec opts; reorg post-submit related. 2021-04-22 12:27:56 -07:00
Jason Volk dbf19fcf4b ircd:🆑:kern: Add argument setter template for various/integral inputs. 2021-04-22 12:27:56 -07:00
Jason Volk 6ca5f8b18f ircd:🆑:code: Add binary construction. 2021-04-22 12:27:56 -07:00
Jason Volk 034170cb30 ircd:🆑 Add status argument to work::wait(); improve dtors. 2021-04-22 12:27:56 -07:00
Jason Volk 54c1be6ec3 ircd:🆑 Add conf item for queue profiling flag. 2021-04-22 12:27:56 -07:00
Jason Volk 000102cf4e ircd:🆑 Add argument-ordered ergonomic constructor. 2021-04-22 12:27:56 -07:00
Jason Volk 21472fcc5b ircd:🆑 Add buffer to buffer copy to interface. 2021-04-22 12:27:56 -07:00
Jason Volk 07dd934602 ircd:🆑:exec: Add the no-implicit-dependency option for exec. 2021-04-22 12:27:56 -07:00
Jason Volk 4ab97bd1a3 ircd::buffer: Minor qualifiers; minor cleanup. 2021-04-22 12:27:56 -07:00
Jason Volk 51d2ac4b33 ircd:🆑 Reorder the kern::range lists for common construction; minor fixes. 2021-04-22 12:27:56 -07:00
Jason Volk a21589654a ircd:🆑 Re-attempt pre-SVM mapping w/ synchronous closure. 2021-03-17 18:55:56 -07:00
Jason Volk d69f8ffb9c ircd:🆑:data: Add basic property interface wrappings. 2021-03-17 18:55:56 -07:00
Jason Volk 60e66cb273 ircd:🆑 Move work wait function out of dtor into member; assert handle. 2021-03-17 18:55:56 -07:00
Jason Volk 3389c23feb ircd::math: Add softmax functions. 2021-03-17 18:55:56 -07:00
Jason Volk 31425a5ca0 ircd::math: Add vector fallbacks for standard exp. 2021-03-17 18:55:56 -07:00
Jason Volk 480722b3b8 ircd::math: Additional fallback overloads for explicit precisions. 2021-03-17 18:55:56 -07:00
Jason Volk 74d7747fa3 ircd::math: Add fallback for vectorized single-precision power of. 2021-03-17 18:55:56 -07:00
Jason Volk 152ea2df0a ircd::math: Add normalization template. 2021-03-17 18:55:56 -07:00
Jason Volk 70bb5c257a ircd::math: Allow increased mean template precision. 2021-03-17 18:55:56 -07:00
Jason Volk 05a3e505cc ircd::simd: Add horizontal adder template. 2021-03-17 18:55:56 -07:00
Jason Volk 90f88cf78d ircd: Allow restricted pointer constructions for string_view/vector_view. 2021-03-17 18:55:56 -07:00
Jason Volk 0cef0848e1 ircd::vector_view: Use proper typedefs in places. 2021-03-17 18:55:56 -07:00
Jason Volk 8032454415 ircd::math: Add matrix fused-multiply-add template. 2021-03-17 18:55:56 -07:00
Jason Volk 7505783cc7 ircd::math: Add fallback for vectorized hyperbolic tangent. 2021-03-16 12:58:22 -07:00
Jason Volk d6d18f7b08 ircd::buffer: Add non-char array convenience cast constructions. 2021-03-16 12:58:22 -07:00
Jason Volk 5d6554b1a3 ircd:🆑 Improve data construction; add initialization xfer to ctor. 2021-03-16 12:58:22 -07:00
Jason Volk 44521ce019 ircd:🆑 Add variadic argument template pack construction. 2021-03-16 12:58:22 -07:00
Jason Volk c7fa7a07ee ircd::simd: Fix attribute ns. 2021-03-16 12:58:22 -07:00
Jason Volk ca1d715702 ircd:🆑 Expose enable conf item to interface. 2021-03-16 12:58:22 -07:00
Jason Volk 699d15e8c9 ircd:🆑 Add options for exec; improve dependency related. 2021-03-16 12:58:22 -07:00
Jason Volk b1bfa7640d ircd:🆑 Add missing move ctor and move assign inlines. 2021-03-16 12:58:22 -07:00
Jason Volk 59106f9456 ircd::fs::map: Add hugepage related to interface opts. 2021-03-16 12:58:22 -07:00
Jason Volk fdd052da87 ircd::fs::map: Add MAP_LOCKED wrapper to interface opts. 2021-03-16 12:58:22 -07:00
Jason Volk 43b85dad87 ircd:🆑 Offload blocking wait to thread; integrate dependencies with ircd::ctx. 2021-03-16 12:58:22 -07:00
Jason Volk d115d88e6c ircd::ctx: Simplify main thread conditions with tls bit. 2021-03-16 12:58:22 -07:00
Jason Volk dea1118bda ircd:🆑 Build code on construction unless coerced otherwise. 2021-03-16 12:58:22 -07:00