Giter Club home page Giter Club logo

Comments (2)

kunzmi avatar kunzmi commented on August 23, 2024

There are two things that you need to do:

  • update all Nuget packages pointing to managedCuda 10 to the latest managedCuda 11.4 version (four packages in total: ManagedCuda-10 -> ManagedCuda-11, ManagedCuda-CUBLAS, ManagedCuda-CUFFT and ManagedCuda-NPP)
  • Change on how the CUDA context is created in file ImagePresenterDX.xaml.cs line 202:

from

_ctx = new CudaContext(cudaDevices[0], _device.ComPointer, CUCtxFlags.BlockingSync, CudaContext.DirectXVersion.D3D9);

to

// This device ID mess is necessary because ManagedCuda doesn't allow to create a
// PrimaryContext directly from a CUdevice (this should be changed, until then we need this hack)
int deviceCount = CudaContext.GetDeviceCount();
int deviceOrdinal = -1;
for (int id = 0; id < deviceCount; id++)
{
    if (CudaContext.GetCUdevice(id) == cudaDevices[0])
    {
        deviceOrdinal = id;
        break;
    }
}
if (deviceOrdinal < 0)
{
    throw new CudaException("Couldn't find corresponding device ordinal");
}

// Nvidia changed context behaviour in the CUFFT/CUBLAS/NPP libraries so that it
// is now mandatory to use a "PrimaryContext" and not a "CudaContext" as before:
_ctx = new PrimaryContext(deviceOrdinal);
// Calling SetCurrent() is necessary for a PrimaryContext to bind it to the current CPU thread:
_ctx.SetCurrent();

After these changes it should run normally.

Cheers,
Michael

from imagestackalignator.

weilongMao avatar weilongMao commented on August 23, 2024

Thanks for your in time reply!

from imagestackalignator.

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.