Comments (6)
Supporting DirectX would probably mean that GPU support would be easily usable by Windows users. Removing incompatibilities between compilers would also be a great benefit.
I'm now fully in favor of this.
from nano-vanity.
Interesting, but it looks like it's currently a bit of a pain to use. I'd also have to do the shader compilation manually.
I'll be interested to see the project develop, though. Hopefully someone makes a higher level wrapper for it.
from nano-vanity.
As an added bonus, I think gfx would like having an example of being used "in production" as well :D
from nano-vanity.
Supporting DirectX would probably mean that GPU support would be easily usable by Windows users. Removing incompatibilities between compilers would also be a great benefit.
I'm now fully in favor of this.
I stumbled apon this repo earlier while looking to see if anyone had done ed25519 signature verification via gpu compute. If you're still interested in this issue, then a first step might be to compile the opencl kernel with clspv. When I ran ./merge-kernel.py > merged.cl; clspv merged.cl
I got the following error:
merged.cl:89:31: warning: cast from 'const __private void *' to '__private unsigned char *' drops const qualifier
const uchar *p = ( uchar * )src;
^
merged.cl:84:28: error: pointer-to-void is not supported
static inline uint load32( const void *src )
^
After either setting the types or deleting all the functions with void *
, the compilation runs until it terminates with:
%5 = getelementptr inbounds <{ i32, [9 x i32] }>, <{ i32, [9 x i32] }>* %3, i32 0, i32 0*** stack smashing detected ***: terminated fish: Job 1, 'clspv merged.cl' terminated by signal SIGABRT (Abort)
Possibly related to google/clspv#261.
from nano-vanity.
I tried this out probably a year ago but gfx-rs's compute support was not ready for real usage at the time. It's very possible the situation's improved since then though. Thanks for linking clspv, I hadn't seen it before. Writing this stuff in OpenGL is a real pain given the lack of dynamic memory access. At one point I explored autogenerated OpenGL but ran into shader size limitations. It seems like the best path forward would be clspv with the current OpenCL kernel. I think I can clean up at least that error without too much trouble.
from nano-vanity.
If you want to chat about this more, I'm on Discord at PlasmaPower#0001
. For your use case, I might already have the curve25519 functionality you need implemented. I've got basepoint multiplication obviously, but also point addition for the distributed mining feature. With those two you should be able to verify a signature. Doing the operations individually isn't optimal, but it should work.
from nano-vanity.
Related Issues (20)
- xor ID into key_root instead of dereferencing HOT 2
- Add parameter to optionally set local work group size HOT 1
- New NVIDIA OpenCL error HOT 6
- Compilation issue with modern AMD + optimization enabled HOT 1
- nano-vanity.exe location HOT 1
- --suffix "word" simple does not work: generates incorrect seeds HOT 2
- checkpoints maybe? HOT 1
- failed to select a version for the requirement `rustc_version = "^0.1" HOT 1
- thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value HOT 5
- Seed doesn't match generated wallet HOT 1
- Cannot build on ubuntu-20.04 - failed to select a version for the requirement `crypto-mac = "^0.5"` HOT 4
- 212% but nothing found yet. HOT 2
- installing without opencl? HOT 1
- Thread overflow on AMD gpus
- Error: linking with `cc` failed: exit status: 1
- Is it possible to go 1000x faster? HOT 1
- Nano-Vanity compiles, but won't run with the gpu flag (Error passing generic uint32_t to const uint32_t) HOT 11
- "The curve point of the blinding factor"
- the parameter type `T` must be valid for the static lifetime... HOT 1
- support Apple Silicon GPU (OpenCL downgrade)
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 nano-vanity.