Comments (7)
This will take around 3 weeks of work.
- There are few global static variables that needs to be added to a context so that it becomes thread safe.
- Make sure the test_sever is able to process multiple queries simultaneously. It might need a different kind of initialization. @csyonghe can the test_sever handle multiple queries?
- We will have to handle test_sever crash across multiple threads
- Test the compelete list and make sure there are no issues. This takes the longest time as total time to test is high.
Approximately 3 weeks of effort including testing.
from slang.
Instead of having test server handle multiple requests in parallel, the right thing to do is to launch multiple test servers and dispatch requests to them independently. I don't think it will take three weeks if we go this route. The slang-test infrastructure used this technique to run tests in parallel without getting into the mess of thread-proofing the rest of the code.
from slang.
This can be done by having each CTS test thread create its own test server and handle the restart of test server independently in that thread. There should be no thread syncing required.
from slang.
parallel1.txt
parallel2.txt
parallel3.txt
parallel4.txt
parallel5.txt
attaching test lists that I used just for reference. I'm not sure if this is the best way to run in parallel. It's just the way I set it up.
from slang.
CTS has an option --deqp-fraction= that can run parallel threads. I am investigating it.
from slang.
It sounds like this may be resolved; Pankaj to confirm when he is back.
from slang.
The issue happens when when multiple processes are launched simultaneously. Seems like a issue with windows mechanism of registering a mutex. The issue can be wok-around by launching each process after some delay.
from slang.
Related Issues (20)
- AD Cleanup: Fix confusing naming conventions for synthesized methods and types
- AD Cleanup: Cleanup `slang-ir-autodiff-unzip.cpp` & `slang-ir-autodiff-unzip.h`
- AD Cleanup: Avoid dealing with invalid IR by representing out-of-scope accesses through `Push` and `Pop` instructions
- Add OpCapability only once
- AD Cleanup: CFG normalization replaces break statements with a boolean break flag `bflag`, but this currently means the opposite of what it should
- AD Cleanup: break-elimination during the CFG normalization step can cause the loop condition to be evaluated an extra time.
- Lower CMake version requirement
- GLSL texture functions need to support int and uint types of samplers as well as float HOT 1
- AD Enhancement: Avoid SSA-ing aggregate types by treating pointer-based element & field accesses as if they were differentiable method calls.
- AD Enhancement: Enhance DCE to avoid situations where mutating primal methods are called multiple times during the reverse-mode pass, potentially causing slow-down
- [] operator not supported for Texture2DMS
- .mips operator function not supported Texture2D
- Consider supporting #pragma pack_matrix()
- Capability System: Profile and look into performance with larger systems
- Metal: support integer type texture
- Fix memory leak in slang.dll HOT 1
- Create the breakdown profiling of slang HOT 2
- AD Cleanup: Use a temporary accumulation inst such as `IRAccumulate` instead of explicitly loading, adding and storing differential values in reverse mode
- Implement metrics tracking for GitHub engagement
- Document the existing auto-diff type system, semantic checking and AST synthesis methods
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from slang.