Vitor Pamplona on Nostr: I used to convert any dataset into a texture and then run a shader ok the GPU to ...
I used to convert any dataset into a texture and then run a shader ok the GPU to convert the texture into pixels and then take those pixels back to the CPU.
In nostr, I just need to create a texture with all the 1000 events we receive every second and call verify to run them all into the graphics pipeline and get the White (verified) or Black pixels in the at the end.
This is how we did it before CUDA became a thing. It's not a good general purpose procedure, but when you have so many things to run in parallel, it could be worth it.
Published at
2024-06-01 13:47:54Event JSON
{
"id": "4a5f0c01840cd9b0fde82e9354e003ffdbd60ef4c38e765d43e4919863214de9",
"pubkey": "460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c",
"created_at": 1717249674,
"kind": 1,
"tags": [
[
"e",
"24c102670d0029c2ff206abba56bff58eb1e4a87c71ecd4b00a2fb5edf51976c",
"",
"root"
],
[
"e",
"2bd94655837f5e683ded2af2939ab27cb920d2a2f131bb608e6df7d7063f630a"
],
[
"e",
"f4b8c9c0d441caf54971d96fc25e30b715fbd43e9403acb4fb8706745f884826",
"",
"reply"
],
[
"p",
"460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c"
],
[
"p",
"9358c67695d9e78bde2bf3ce1eb0a5059553687632a177e7d25deeff9f2912fc"
],
[
"p",
"47be0b2a89faaa66bc57f5c679203486da45660295cb3db3c2f38f4be8d8816e"
],
[
"p",
"1dd7992ea0ecbda7480ceed35748c3655691133c8c78af947fd24299db8f481f"
]
],
"content": "I used to convert any dataset into a texture and then run a shader ok the GPU to convert the texture into pixels and then take those pixels back to the CPU. \n\nIn nostr, I just need to create a texture with all the 1000 events we receive every second and call verify to run them all into the graphics pipeline and get the White (verified) or Black pixels in the at the end. \n\nThis is how we did it before CUDA became a thing. It's not a good general purpose procedure, but when you have so many things to run in parallel, it could be worth it. ",
"sig": "4203e909b1fb641dcc3d75d36dafb81996c39659780c09af74d30c3d81d5cb521bc2024086e74bc1d1d06709a595d72f26b0152966a438d6fb10af585ba6c60e"
}