Commit Graph

34 Commits

Author SHA1 Message Date
colin bc61fd0d0a app: stacked_cores: 46-xx: complete some runs of an inverter cascaded into a buffer
the results aren't great :'(
2022-10-16 02:00:55 -07:00
colin 5f289bf07b update rust-toolchain: 2022-04-11 -> 2022-08-29, and update cargo deps 2022-09-25 18:05:17 -07:00
colin 2044397047 app: stacked_cores: prototype
the long term goal of this demo is to see if:
(a) we can get stronger coupling between two cores than with multi-core-inverter.
(b) we can get amplification by using a charge-pump like concept.
(c) we can construct a *working* multi-core-inverter from this.
2022-09-01 18:41:49 -07:00
colin 184997a701 app: buffer_proto5: parallelize the geometry searches 2022-08-31 02:40:47 -07:00
colin ab6496d5f6 backfill Vec2::rotate tests 2022-08-23 23:49:43 -07:00
colin 4525bbde56 remove unused `lazy_static` dependency 2022-08-23 23:29:47 -07:00
colin 3c30ac33aa Driver: replace the other ThreadPool with a JobPool
as a bonus we can remove the threadpool dep :-)
2022-08-23 00:03:58 -07:00
colin 284b7368ef add a JobPool type to better abstract over repeat asynchronous work 2022-08-22 19:30:07 -07:00
colin 198cc16f3f cross: compile tests with the `fmt` feature so we can use `assert_eq` 2022-08-17 21:06:23 -07:00
colin 084c5bc342 Region: remove `Clone` from the trait, and also parameterize everything
i didn't necessarily *want* to parameterize it all,
but it turned out to be easier to do that than to force all users to
workaround the lack of Clone.
2022-08-12 01:42:19 -07:00
colin d5fbb4e9b2 Region: remove the Serialization requirement 2022-08-12 00:57:01 -07:00
colin c5e2713b51 remove unused enum_dispatch 2022-07-29 16:07:07 -07:00
colin 45d2de29c6 rename 'coremem_types' -> 'coremem_cross' to better reflect its purpose 2022-07-28 15:40:23 -07:00
colin 9e35b29087 move `util/` out of `coremem` and into its only user: `buffer_proto5` 2022-07-28 15:30:50 -07:00
colin 97c2813c9d coremem_types: hide Serialize/Deserialize behind a serde feature flag
- this flag is disabled in spirv_backend.
- spirv_backend currently errors in core::fmt stuff. may try hiding fmt
  behind a feature_flag.
2022-07-17 23:44:14 -07:00
colin 253eb65f8f real: remove the remaining decorum dependencies 2022-07-17 18:46:25 -07:00
colin 57273ed430 coremem_types: remove dead `num` dependency 2022-07-17 17:33:29 -07:00
colin 9d102e0152 split `real` out into its own crate
this is a move toward reusing some of the coremem helper types in the
spirv backend.
2022-07-17 17:32:35 -07:00
colin a2d35782a1 lift the post-processing tools (viewer, csv, decimate) into their own crate
- these tools shouldn't need access to coremem internals.
- lifting them out reduces some dependencies in coremem-the-library.
- separation allows faster iteration in the coremem library while
  temporarily breaking the post-processing tools (specifically,
  those tools could take deps on a specific coremem version and thereby
  we split the update process into two, smaller steps).
2022-07-17 15:47:39 -07:00
colin b778acfd28 add a new crate where i'll explicitly simulate the inverter i hypothesize in an upcoming blog about this project 2022-07-15 17:13:41 -07:00
colin 99e7306ae9 make all the examples be their own binary crates
this achieves a few things:
- trivial way to get these shipped as the default nix package
- better dependency management
- ability to split large applications into multiple files

the README probably needs some updating.
2022-07-06 01:30:31 -07:00
colin 4dce151e9c remove spirv_backend_lib
this was a hack from earlier where we needed a different lib types
based on whethere we were targeting the native host or the spirv
backend.

at some point we no longer needed different lib types. so the _lib piece
is unnecessary.
2022-07-06 00:26:54 -07:00
colin de7da0540d fix up the builder so that this works as a nix expression 2022-07-05 23:01:27 -07:00
colin 5b99d30cda restructure this multi-crate project to use Cargo's "workspace" feature
this solves an issue in the Nix build, where managing multiple
Cargo.lock files is otherwise tricky. it causes (or fails to fix?) an adjacent issue where
the spirv builder doesn't seem to have everything it needs vendored.
2022-07-05 17:34:21 -07:00
colin d3cd12aa47 split the spirv builder out of the runtime spirv executable
this means that we unconditionally build the spirv runner,
and hence it requires that the user setup the proper rustc toolchain,
etc. may want to hide this behind a feature flag.
2022-07-05 16:37:00 -07:00
colin 1a0f7687db update typetag: 0.1 => 0.2 2022-07-04 04:30:00 -07:00
colin 1acb4233ae runtime fix: update rust-toolchain and EmbarkStudios deps, switch from dylib => lib
this resolves the issue where Nix builds would segfault when trying to
initialize wgpu -- *possibly* because of multiple dynamically linked
versions of LLVM sitting in the mix (hence, dylib => lib).
2022-07-04 04:28:30 -07:00
colin fa4075818d update dependencies 2022-07-04 03:47:17 -07:00
colin 92deaf6c8d Cargo: lock spirv deps & update the rest 2022-07-04 02:03:23 -07:00
Colin 46fdd79350 `cargo update` dependencies to their latest versions
serde, libc, naga
2022-01-27 23:04:58 -08:00
Colin de003f3575 update remaining dependencies (i.e. libc) 2022-01-25 04:15:28 -08:00
Colin d399d51895 update wgpu 0.9 => 0.12
there looks to be a 25% perf hit when running the 160x160x160 benchmark.
2022-01-25 04:11:24 -08:00
Colin a997e01c48 update crossterm and lru dependencies 2022-01-25 03:19:01 -08:00
Colin 1e4560ce4c update rust-gpu dependencies and rustc version
also add the Cargo.lock files to version control, since the spirv stuff
is highly dependent on specific versions of dependencies.

TODO: update wgpu to 0.12
2022-01-25 03:10:29 -08:00