This project is read-only.

What is Emulator mode?

Apr 16, 2013 at 9:41 AM
What is Emulator mode?

what does it do? how is it useful?

how is it invoked?

can find no ref to it at all?

try here:
http://www.hybriddsp.com/Portals/0/cudafy/Index.html

Not searchable! therefore have to expand every section to search for a string
but HOW DO I KNOW WHICH STRING TO SEARCH FOR?


that string could be :
emulateMode
emulator
simulate
.....
Apr 16, 2013 at 10:21 AM
CudafyHost.GetDevice(eGPUType.Emulator)
The emulator runs the .NET code in on the CPU. This is useful for debugging. Try to limit the number of threads you launch in a given block because the CPU does not take kindly to executing 1024 in parallel.
Nowadays the NVIDIA NSight tool for Visual Studio is very powerful and somewhat negates the usefulness of the CUDAfy emulator.
Apr 16, 2013 at 10:24 AM
cheers Nick but do I need to ask stupid questions for every problem?

CudafyHost.GetDevice(eGPUType.Emulator)

where could I have found this by myself......

if I come to you with every problem, your going to need a seriously parallel GPU NickKopp emulator :-)
Apr 16, 2013 at 5:32 PM
Edited Apr 16, 2013 at 5:39 PM
"cheers Nick but do I need to ask stupid questions for every problem? "

You do have a point there - the documentation could do with improvements. Perhaps you'd be willing to help with that? I'm sure Nick would be delighted.
Mind you - you act as if you're entitled to something, but since this is a free open source project, you're a bit out of line here, imo.
Apr 16, 2013 at 5:39 PM
its "tounge in cheek"

I still dont know HOW im supposed to have been able to work out this line of code

CudafyHost.GetDevice(eGPUType.Emulator)

apart from trying zillions of random combinations!

do you know, "where" to see this information ? any web page? any document which explains this?

go on humour me!
Apr 16, 2013 at 6:35 PM
Edited Apr 16, 2013 at 6:37 PM
It's not very clear, but it's there, in the manual in the description of "GetDevice":

"The CudafyHost class is static and contains a method called GetDevice. (...) it is set to Cuda, but there is nothing wrong with choosing Emulator. ", and also "To make use of the built in emulation that Cudafy offers, you will ideally be using a recent multi-core AMD or Intel processor."

I agree, it could be a lot better. But it's a starting point. Once I read that on the manual, I looked up the declaration of "GetDevice":
"public static GPGPU GetDevice( eGPUType type, int deviceId )" and "eGPUType", where one finds the Emulation option. To me it seemed pretty obvious, but I admit others may think otherwise.
Apr 16, 2013 at 6:35 PM
Edited Apr 16, 2013 at 6:37 PM
This is how I work with any new library: I try example projects to get the general idea and then make use of Visual Studio's Intellisense. Being a typical bloke I won't resort to reading the manual until all else fails. If I did end up reading the CUDAfy manual then I'd find some info on the emulator on p13.

Edit: Okay pedritolo1 must have beaten me to it by a few seconds. The link I have given is for a more up to date user manual.
Apr 16, 2013 at 6:55 PM
Thank you both, I do appreciate it, but just think how many others have failed to grasp this along with other elements of this great library?!

You know what folks are about complaining, when I ran my business I knew from local customer feedback that only 1 in 100 used to complain, the other 99
I usually lost their custom. :-(

food for thought!

if you are serious about promoting this tool, dont sell your self short with some basic errors.

On the other hand the more you promote, the more "tony the pony" ( Jon Skeet ref ) folks like me you will get asking dumb questions!