Giter Site home page Giter Site logo

Comments (6)

PlasmaPower avatar PlasmaPower commented on July 28, 2024 2

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.

PlasmaPower avatar PlasmaPower commented on July 28, 2024

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.

fu5ha avatar fu5ha commented on July 28, 2024

As an added bonus, I think gfx would like having an example of being used "in production" as well :D

from nano-vanity.

expenses avatar expenses commented on July 28, 2024

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.

PlasmaPower avatar PlasmaPower commented on July 28, 2024

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.

PlasmaPower avatar PlasmaPower commented on July 28, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.