-
-
Notifications
You must be signed in to change notification settings - Fork 10
Feature/web gpu #53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/web gpu #53
Conversation
…pdate package.json and package-lock.json to include taichi.js dependency
- Implemented WebGPUComputeWorker for various linear algebra operations including vector addition, matrix-vector multiplication, dot product, normalization, and more. - Created WebGPUJacobiWorker for solving linear systems using the Jacobi method. - Developed a test HTML page to validate the functionality of the compute engine with multiple test cases for each operation. - Included error handling and success messages for better user feedback during tests. - Ensured compatibility with Comlink for worker communication.
…pdate package.json and package-lock.json to include taichi.js dependency
- Implemented WebGPUComputeWorker for various linear algebra operations including vector addition, matrix-vector multiplication, dot product, normalization, and more. - Created WebGPUJacobiWorker for solving linear systems using the Jacobi method. - Developed a test HTML page to validate the functionality of the compute engine with multiple test cases for each operation. - Included error handling and success messages for better user feedback during tests. - Ensured compatibility with Comlink for worker communication.
…ethod conflict by keeping remote worker-based version
- Updated mesh configuration in HeatConduction2DFinCG.html to reduce the number of elements for better performance. - Enhanced FEAScript.js to prepare the mesh and extract node coordinates before matrix assembly. - Modified jacobiMethodScript.js documentation to clarify return object structure. - Rewrote jacobiSolverScript.js to implement a CPU synchronous version of the Jacobi method, removing the WebGPU dependency. - Adjusted convergence check in webgpuJacobiWorker.js to use absolute differences. - Removed testWebGPU.html as it is no longer needed.
|
Thanks for the PR @sridhar-mani. That's nice work. I will do some modifications before merging. |
|
Sure. Try out the sample html file. But bigger meshes don't work for now. I'm thinking on implementing chunking for loading and unloading the mesh. |
|
This is the WebGPU example: https://feascript.com/tutorials/heat-conduction-2d-fin-webgpu.html |
|
Yup, Happy to help. We should really pivot towards VOF is possible at this point. As have implemented solvers to run from workers utilizing the gpu it might be possible. I'm still exploring on using and managing multiple workers for a solver to be able to utilize the full capability. |
@sridhar-mani VOF is indeed a great idea and very useful. However, I believe it won’t be easy to get there. First, we need to implement the Navier–Stokes model. After that we should test the code against some standard CFD benchmarks.. |
|
we can delete all the branches except webGPU as all others are related to the same task. |
Implemented worker based webgpu calculations. This can be used for future solvers to be useful.