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

Shared object support #15

Merged
merged 83 commits into from
Jul 19, 2023
Merged

Shared object support #15

merged 83 commits into from
Jul 19, 2023

Commits on Feb 15, 2023

  1. add perf outputs to gitignore

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    66642d8 View commit details
    Browse the repository at this point in the history
  2. fix various errors in the Makefiles that lead to building on a non-cl…

    …ean directory not always working
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    403ec5f View commit details
    Browse the repository at this point in the history
  3. add test program for cuda code loaded using libdl

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    0e13cbf View commit details
    Browse the repository at this point in the history
  4. when the client dlopens libraries containing cuda kernels, also open …

    …them at the server.
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    cb391b3 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2023

  1. add decoding of fatbinary data

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    905fefe View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2023

  1. add decoding of embedded fatbinaries

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Feb 17, 2023
    Configuration menu
    Copy the full SHA
    0997d44 View commit details
    Browse the repository at this point in the history
  2. add temporary test code that launches a kernel on the server from an …

    …elf retrieved via RPC.
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Feb 17, 2023
    Configuration menu
    Copy the full SHA
    4ff4b5c View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2023

  1. add registry for tranferred cubins and kernel functions so Cricket is…

    … able to identify them when launching kernels
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Feb 18, 2023
    Configuration menu
    Copy the full SHA
    e72c11c View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2023

  1. Configuration menu
    Copy the full SHA
    15eb759 View commit details
    Browse the repository at this point in the history
  2. code cleanup. fix wrong passing of dimensions

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Feb 21, 2023
    Configuration menu
    Copy the full SHA
    ff493f6 View commit details
    Browse the repository at this point in the history
  3. use an infinite timeout for kernel calls

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Feb 21, 2023
    Configuration menu
    Copy the full SHA
    98832e2 View commit details
    Browse the repository at this point in the history
  4. remove timeout for cudaDeviceSynchronize

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Feb 21, 2023
    Configuration menu
    Copy the full SHA
    6eeef6c View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2023

  1. make cpu_utils_contains_kernel return the right value

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    74179ef View commit details
    Browse the repository at this point in the history
  2. add cudaRegisterVar client function

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    36ead03 View commit details
    Browse the repository at this point in the history
  3. add gdb commands file for debugging client apps

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    babb70c View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2023

  1. fix cpu_utils_contains_kernel and cpu_utils_parameter_info returning …

    …the wrong value
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Mar 10, 2023
    Configuration menu
    Copy the full SHA
    d1f6173 View commit details
    Browse the repository at this point in the history
  2. make cpu_utils_launch_child also redirect stderr of child processes t…

    …o pipe
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Mar 10, 2023
    Configuration menu
    Copy the full SHA
    9cb6aaf View commit details
    Browse the repository at this point in the history
  3. reduce debugging output verbosity and add some NULL checks

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Mar 10, 2023
    Configuration menu
    Copy the full SHA
    ac36e85 View commit details
    Browse the repository at this point in the history
  4. make dlopen return a handle to the main program if it is called with …

    …a NULL filename
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Mar 10, 2023
    Configuration menu
    Copy the full SHA
    07ed931 View commit details
    Browse the repository at this point in the history
  5. fix ci error by making tests/cpu/cubin/main.cpp compile

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Mar 10, 2023
    Configuration menu
    Copy the full SHA
    e9b2c1c View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2023

  1. parse kernel parameter infos from in-memory elf using libbfd

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Mar 24, 2023
    Configuration menu
    Copy the full SHA
    dec25d1 View commit details
    Browse the repository at this point in the history
  2. fix cpu-server not using the new name of elf_symbol_address

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Mar 24, 2023
    Configuration menu
    Copy the full SHA
    09b34f6 View commit details
    Browse the repository at this point in the history
  3. add possibility to dump elfs

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Mar 24, 2023
    Configuration menu
    Copy the full SHA
    701d4bd View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2023

  1. make higher log levels configurable from makefile

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    89f78e6 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2023

  1. add comments and additional error handling

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Mar 30, 2023
    Configuration menu
    Copy the full SHA
    4d7dc55 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d9870e0 View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2023

  1. use libelf instead of libbfd for elf manuipulation because of better …

    …stability. New code is located in cpu-elf.c
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    45e7e18 View commit details
    Browse the repository at this point in the history
  2. add colors to log.c

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    8de247f View commit details
    Browse the repository at this point in the history

Commits on May 4, 2023

  1. migrate to new elf handling. add decompression support for cuda fatbi…

    …naries
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed May 4, 2023
    Configuration menu
    Copy the full SHA
    6acdf43 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2023

  1. port to CUDA 12.1

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed May 10, 2023
    Configuration menu
    Copy the full SHA
    975cd31 View commit details
    Browse the repository at this point in the history
  2. fix elf handling to work with a wider variety of CUDA kernels

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed May 10, 2023
    Configuration menu
    Copy the full SHA
    eeb8e48 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2023

  1. fix memory leaks identified by gcc sanitizer

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed May 11, 2023
    Configuration menu
    Copy the full SHA
    66eb961 View commit details
    Browse the repository at this point in the history

Commits on May 12, 2023

  1. clean up of uneeded code paths relating to old LD_PRELOADing of serve…

    …r. Cleanup of shm support
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed May 12, 2023
    Configuration menu
    Copy the full SHA
    b230687 View commit details
    Browse the repository at this point in the history
  2. fix cudaMemcpy using correct shm index references

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed May 12, 2023
    Configuration menu
    Copy the full SHA
    6e46154 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2023

  1. fix resource manager add_sorted function inserting and wrong location…

    … in list leading to binary search failing sometimes.
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed May 15, 2023
    Configuration menu
    Copy the full SHA
    4a4bd02 View commit details
    Browse the repository at this point in the history

Commits on May 16, 2023

  1. fix wrong decoding of compressed kernels

    when walking through compressed cubins we added the decompressed size to the current location instead of the compressed size leading to jumping over important parts of the cubin.
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed May 16, 2023
    Configuration menu
    Copy the full SHA
    bde6500 View commit details
    Browse the repository at this point in the history
  2. update dockerfiles so they install cuda profiler api and add new Dock…

    …erfile for CUDA 12.1
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed May 16, 2023
    Configuration menu
    Copy the full SHA
    33e0fe4 View commit details
    Browse the repository at this point in the history
  3. if a binary does not contain any kernel cricket should not show any e…

    …rros.
    
    I replaced them with warnings for now. We should probably do better sanity checking before assuming not found .nv.info sections only occur in binaries without kernels.
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed May 16, 2023
    Configuration menu
    Copy the full SHA
    dcd9009 View commit details
    Browse the repository at this point in the history
  4. cricket supports binaries with debug symbols so we should not throw a…

    …n error when we find binaries with debug symbols
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed May 16, 2023
    Configuration menu
    Copy the full SHA
    d944cd9 View commit details
    Browse the repository at this point in the history

Commits on May 18, 2023

  1. Configuration menu
    Copy the full SHA
    a0473ac View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2023

  1. add some driver apis, fix shadowing CUDA functions not working when t…

    …heir name is redefined using macros
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 1, 2023
    Configuration menu
    Copy the full SHA
    0df2fd3 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2023

  1. add nvml support

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    0641ccc View commit details
    Browse the repository at this point in the history
  2. add nvml to Dockerfiles

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    c9b9726 View commit details
    Browse the repository at this point in the history
  3. add license to pytorch_minimal.py

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    3b541b3 View commit details
    Browse the repository at this point in the history
  4. add nvml library to dockerfiles

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    433930b View commit details
    Browse the repository at this point in the history
  5. exclude some nvml definitions when compiling with an old CUDA version…

    … to make the CI happy
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    f249f8f View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2023

  1. add cpu-server-nvml head

    er file and initialization of nvml part
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    6860540 View commit details
    Browse the repository at this point in the history
  2. change c standard to gnu11, improve logging

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    c849bd7 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2023

  1. add documentation on how to use pytorch to docs/pytorch.md

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    4c78904 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5c64748 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1c7d39f View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2023

  1. Configuration menu
    Copy the full SHA
    c9f09b9 View commit details
    Browse the repository at this point in the history
  2. use uint64_t for decompressions to fix overflowing of range and lengt…

    …h specifiers for very long compressed segments
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    c709acf View commit details
    Browse the repository at this point in the history
  3. update docs to not deactivate compression as we now support compresse…

    …d pytorch kernels
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    56ce060 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2023

  1. add v2 implementation of cudaGetDeviceProperties

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 13, 2023
    Configuration menu
    Copy the full SHA
    da4682e View commit details
    Browse the repository at this point in the history
  2. add libgl dependency to pytorch documentation

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 13, 2023
    Configuration menu
    Copy the full SHA
    9f4e797 View commit details
    Browse the repository at this point in the history
  3. improve support for cuGetProcAddress

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 13, 2023
    Configuration menu
    Copy the full SHA
    8de9fb8 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2023

  1. add cuDNN tests to tests/samples

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    d41d195 View commit details
    Browse the repository at this point in the history
  2. use fixed size rpc array instead of opaque variable length array for …

    …cudaDeviceProp
    
    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    523d86e View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2023

  1. add cuDNN API stubs

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    d786d9c View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2023

  1. add cuDNN implementation

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    2de0e2e View commit details
    Browse the repository at this point in the history
  2. use resource managers for cudnn api

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    0a01b07 View commit details
    Browse the repository at this point in the history
  3. add more cuDNN APIs

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    9de7292 View commit details
    Browse the repository at this point in the history
  4. add cudnn activation and pooling apis

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    32796d7 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2023

  1. implement cudaMemset Async APIs

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    e180369 View commit details
    Browse the repository at this point in the history
  2. add cudnn dependency to Dockerfiles

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    14838e6 View commit details
    Browse the repository at this point in the history
  3. add cudnn LRN api

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    b392420 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    26e19bd View commit details
    Browse the repository at this point in the history
  5. add basic cuBLAS support

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    15fc3a2 View commit details
    Browse the repository at this point in the history
  6. implement cudnn tensor functions

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    762cada View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2023

  1. implement three more cudnn tensor APIs

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    5d381a7 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2023

  1. add cublas and cudnn functions to support mnistCUDNN sample

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    6da2f8d View commit details
    Browse the repository at this point in the history
  2. fix faulty if statement when intercepting dlopen calls

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    8a911ca View commit details
    Browse the repository at this point in the history
  3. improve logging for unloading of modules

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    122b721 View commit details
    Browse the repository at this point in the history
  4. improve docs/pytorch.md

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    e8813ea View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2023

  1. improve cublas implementation, add cudnnBackend implementation

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jun 29, 2023
    Configuration menu
    Copy the full SHA
    e5dbebf View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2023

  1. improve debug output for cuModuleLoad

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jul 13, 2023
    Configuration menu
    Copy the full SHA
    ce21d8a View commit details
    Browse the repository at this point in the history
  2. add support for cuModuleLoadData

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jul 13, 2023
    Configuration menu
    Copy the full SHA
    481dec9 View commit details
    Browse the repository at this point in the history
  3. cublas: remove usage of new APIs if we compile for CUDA 10

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jul 13, 2023
    Configuration menu
    Copy the full SHA
    fbf7dad View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2023

  1. fix using logger function before initialization

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jul 17, 2023
    Configuration menu
    Copy the full SHA
    bf3a15e View commit details
    Browse the repository at this point in the history
  2. fix no output on weird shells, e.g. ssh

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jul 17, 2023
    Configuration menu
    Copy the full SHA
    f30d9b0 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2023

  1. remove md5

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jul 18, 2023
    Configuration menu
    Copy the full SHA
    07db2ba View commit details
    Browse the repository at this point in the history
  2. remove cuda 10 support, add cudnn CI test

    Signed-off-by: Niklas Eiling <[email protected]>
    n-eiling committed Jul 18, 2023
    Configuration menu
    Copy the full SHA
    088b6fc View commit details
    Browse the repository at this point in the history