StreamDiffusion
pgmq
StreamDiffusion | pgmq | |
---|---|---|
4 | 14 | |
8,969 | 1,848 | |
- | 58.0% | |
9.6 | 8.9 | |
18 days ago | 4 days ago | |
Python | Rust | |
Apache License 2.0 | PostgreSQL License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
StreamDiffusion
- FLaNK Weekly 31 December 2023
-
StreamDiffusion: Over 100fps Stable Diffusion on a 4090
Everyone does warmup before you measure. But measuring isn't always done right because we actually measure the GPU time only but some people naively use CPU time which is problematic because the process is asynchrenous. They have a few timing scripts though and I'm away from my GPU. There are some interesting things but they look like they know how to time. But it can also get confusing because is it considering batches or not. Some works do batch some do single. Only problem is when it isn't communicated correctly or left ambiguous.
Their paper is ambiguous unfortunately. Abstract, intro, and conclusion suggests single image by motivating with sequential generation (specifically mentioning metaverse). Experiment section says
> We note that we evaluate the throughput mainly via the average inference time per image through processing 100 images.
That implies batch along with their name Stream Batch...
Looking at the code I'm a bit confused. I'm away from my GPU so can't run. Maybe someone can let me know? This block[0] measures correctly but is using a downloaded image? Then just opens the image in the preprocess? (multi looks identical) This block[1] is using CPU? But running CPU. (there's another like this)
So I'm quite a bit confused tbh.
[0] https://github.com/cumulo-autumn/StreamDiffusion/blob/03e2a7...
[1] https://github.com/cumulo-autumn/StreamDiffusion/blob/03e2a7...
- StreamDiffusion: A Pipeline-Level Solution for Real-Time Interactive Generation
pgmq
- Pgmq: Lightweight message queue extension for Postgres
- Replace SQS / RSMQ with pgmq: A lightweight message queue based on Postgres
-
Introducing pgzx: create PostgreSQL extensions using Zig
And lots of interesting extensions use it, like
https://github.com/tembo-io/pgmq
https://github.com/zombodb/zombodb
https://github.com/supabase/pg_jsonschema
-
Show HN: Hatchet – Open-source distributed task queue
Have you considered https://github.com/tembo-io/pgmq for the queue bit?
- Show HN: An SQS Alternative on Postgres
-
Postgres as Queue
some notes about pgmq, https://github.com/tembo-io/pgmq, that is on this list. It is built as an extension in Postgres, which makes it compatible with all languages that have a Postgres driver.
There's no 'magic' to it, it uses existing Postgres features so all the performance and consistency guarantees of Postgres are to be expected. Easily gets to 10k+ concurrent reads and writes even on smaller sized Postgres instances, which is more than most applications need.
- FLaNK Weekly 31 December 2023
-
What are the best job-scheduling tools, frameworks or libraries?
Newer project but there's no library needed. https://github.com/tembo-io/pgmq. They have a pretty simple SQL api similar to SQS. It's an extension though, so some cloud provider will not support it.
- FLaNK Stack Weekly for 20 Nov 2023
-
Choose Postgres Queue Technology
PGMQ does not require a client library, https://github.com/tembo-io/pgmq so long as your language of choice can run SQL. All the functions live in Postgres, and you just call them with SQL statement. Very similar feel and semantics to SQS.