Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nvidia MSM proof of concept (serial) #480

Open
wants to merge 22 commits into
base: master
Choose a base branch
from
Open

Nvidia MSM proof of concept (serial) #480

wants to merge 22 commits into from

Commits on Nov 5, 2024

  1. wrap execCudaImpl macro logic in a block

    Otherwise we run into problems if we have two execs in the same scope.
    Vindaar committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    cacb22d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d4e640c View commit details
    Browse the repository at this point in the history
  3. do not quit on failure in NvidiaAssembler destructor

    A failure in the check from the destructor almost certainly means that
    we destroyed early, due to an exception. We don't want to hide the
    exception, hence we don't quit.
    Vindaar committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    22c0565 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c1257ac View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    43e4d19 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6cd3ca8 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d8b21c5 View commit details
    Browse the repository at this point in the history
  8. make store for ValueRef safer by checking for pointer-ness

    Also adds `storePtr` if user really wants to store a pointer
    Vindaar committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    7a786ef View commit details
    Browse the repository at this point in the history
  9. forbid =copy on Array, likely *not* what user wants

    Easy to introduce bugs by thinking one stores, when in fact one just
    copies the reference.
    Vindaar committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    9ee8fe5 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    494e4ca View commit details
    Browse the repository at this point in the history
  11. add FieldScalar, FieldScalarArray, EcAffArray, EcAffArray

    - for safer handling of multiple EC points in different coordinates
    - separate logic of elements of Fp (`Field`) from those of Fr (`FieldScalar`)
    Vindaar committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    ec28afc View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    21fb88c View commit details
    Browse the repository at this point in the history
  13. add ConstantValue, MutableValue wrappers around ValueRef

    Dealing with ValueRef and the fact that pointers are now opaque in
    LLVM is extremely annoying. So here are 2 types that wrap the LLVM
    values with their respective underlying types which also provide
    easier load / write access.
    Vindaar committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    cf095cf View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    5d7f03d View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    9a0f8eb View commit details
    Browse the repository at this point in the history
  16. add llvmIf to generate code for if statements

    It _wraps around_ a full if statement.
    Vindaar committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    c67548c View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    0b28232 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    085b233 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    bdf667d View commit details
    Browse the repository at this point in the history
  20. add serial MSM implementation for Nvidia using bucket method

    This implementation is a bit of a proof of concept and playground to
    investigate how easily we can generate code on the LLVM target with
    the help of Nim macros.
    Vindaar committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    44ce9df View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    6eb0c60 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    83e603a View commit details
    Browse the repository at this point in the history