Skip to content
  1. May 24, 2017
  2. Mar 22, 2017
  3. Jan 15, 2017
  4. Jan 14, 2017
  5. Jan 13, 2017
    • Lurch's avatar
    • Lurch's avatar
      Changed TestDriver.test_recursive_launch() in test/test_deriver.py to use... · d0666aed
      Lurch authored
      Changed TestDriver.test_recursive_launch() in test/test_deriver.py to use pycuda.compiler.DynamicSourceModule, removed xfail marker
      Added a test case for pycuda.compiler.JitLinkModule: compiles and links two .cu files.
      Removed test/test_jit_link.py, all further tests in test/test_deriver.py from now on
      Removed bad "import pycuda.autoinit" (how did this even get there?)
      d0666aed
    • Lurch's avatar
      Changed demo_cdpSimplePrint.py to use DynamicSourceModule. · e03e9f74
      Lurch authored
      Using Context.set_limit() now.
      Needed a missing limit enum CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH (in CUDA8/v8.0/include/cuda.h[975], available since 3.5), added CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH and CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT (same) to pycuda.driver.limit.
      e03e9f74
    • Lurch's avatar
      Refactored SourceModule again, new class hierarchy: · e990a4e6
      Lurch authored
      + CudaModule
        + SourceModule
        + JitLinkModule
          + DynamicSourceModule
      
      Splitted the "old" class SourceModule in two: class CudaModule and the "new" SourceModule.
      
      - CudaModule is now the common base class for module loading and provides common methods. All methods here were moved from the old SourceModule.
      - The "new" SourceModule's interface and system requirements are 100% unchanged, it will work under all previous configuration scenarios.
      - JitLinkModule requires at least CUDA 5.5 and Compute Capabilty 3.5 (that is now guarded in the constructor), it's the swiss-army-knife for non-trivial linker invocations.
      - DynamicSourceModule is a special case of JitLinkModule, it exposes the same interface as SourceModule but enables dynamic parallelism (it comes with one extra optional argument in the constructor, cudalib_dir). It's meant for the trivial cases where the user has a single source file, as before with SourceModule.
      
      So if a PyCuda user only wants to activate dynamic parallelism, all that's required is to replace "SourceModule" with "DynamicSourceModule" given that we're able to locate "cudadevrt" automagically in method _locate_cuda_libdir(), otherwise the caller must provide the CUDA library path manually in constructor argument "cudalib_dir". I do not think this can be reduced any further.
      
      Other changes in class JitLinkModule:
      - Made all add_* methods and the link() method return self
      - Moved CUDA library path detection logic into method JitLinkModule._locate_cuda_libdir(), gets called only once from constructor
      e990a4e6
  6. Jan 12, 2017
  7. Jan 11, 2017
  8. Jan 10, 2017
  9. Oct 24, 2016
  10. Oct 15, 2016
  11. Oct 10, 2016
  12. Sep 13, 2016
  13. Sep 12, 2016
  14. Aug 09, 2016
  15. Aug 08, 2016
  16. Jul 26, 2016
  17. Jul 05, 2016
  18. Jul 02, 2016
Loading