mIRC Home    About    Download    Register    News    Help

Print Thread
Joined: Dec 2003
Posts: 48
N
Ameglian cow
OP Offline
Ameglian cow
N
Joined: Dec 2003
Posts: 48


Tutorial on how to create a VC++ DLL in Visual Studio 2012 for mIRC with CUDA

https://github.com/CymatiCorp/CyCuda

The DLL displays all available CUDA graphics devices
on your system. It might not sound impressive at the
moment, but getting the CUDA graphics handler is the
first step to utilizing your GPU.


Joined: Dec 2003
Posts: 48
N
Ameglian cow
OP Offline
Ameglian cow
N
Joined: Dec 2003
Posts: 48
Khaled, hope you're working on 64-bit support for DLL,
as I think CUDA kind of relies on it a bit more.

Thanks!

Joined: Oct 2003
Posts: 3,918
A
Hoopy frood
Offline
Hoopy frood
A
Joined: Oct 2003
Posts: 3,918
Can you explain why 64bit matters? CUDA should not require 64bit DLLs. If your point is that there is a memory limit to the types of computations you can do with your DLL, then you might want to consider a different architecture to easily workaround this. Specifically, it would be trivial to launch a new (64bit) process as a host controller for functions instead of calling cuda*() operations from the same 32bit process. The overhead of CreateProcess() should be negligible if you're dealing with computations on 4+GB data sets, and you can keep the process open so that it's no more heavy than loading the DLL in the first place. Incidentally, this architecture also gives you a better sandbox to work with, so that if the CUDA program crashes, it won't take mIRC with it. Given how low-level CUDA functions operate, that's probably something you want.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"
Joined: Dec 2003
Posts: 48
N
Ameglian cow
OP Offline
Ameglian cow
N
Joined: Dec 2003
Posts: 48
Reading the CUDA documentation, there are several
instances where it points out support for 32-Bit is either
depreciated or being depreciated. So although a lot of the
CUDA programming will probably work just fine in 32-bit,
you may eventually stumble into something that might not be
supported.

CUDA in general I think is trying to shift completely away
from utilizing the 32-bit architecture.

I'm not going to pretend to understand and spend the
rest of my day trying to explain why it is the way it is.

All I can tell you is, I compiled a 64-bit DLL and mIRC
wouldn't accept it.

I see what you're saying though, I could just create a new
64-bit process that could utilize the CUDA features.


Link Copied to Clipboard