

Even if a corruption would occur because a write operation never finished.

The storage should be saved between game sessions, optimally the storage would be saved on the real world (physical) storage of the computer's hard drive, in case the game stops unexpectedly then each machines "physical" storage would survive.

Each machine could run at 20 Hz (IPS, Instructions Per Second) each, higher speeds would of course be better.Įach machine would have it's own memory, storage medium and CPU and would be upgradable, so each machine could be different in speed, memory capacity and storage capacity. That program would have to take care of everything that computer does, including IO, network communications, bla bla.Īs i've pointed out already, speed isn't important. Such as a C compiler for the architecture emulated.Įach computer would have ONE compiled program running each. IF an architecture, any in existence, would "too much" then a scripting language would be fine as well but optimally, a compiler would be used. Obviously x86 may be too ambitious, i would be fine with the most basic architecture. I want each computer to run a CPU architecture, such as x86. The network should all be capable of communication between each computer, as well as the players computer. The players computer would run on the CPU. This is the game interface, it has the power to create computers in the simulated (on GPU) network, as well as "physically" interacting with the simulated network, such as powering on/off computers (Terminating GPU threads and starting new ones), uploading programs to run on a specific computer, "plugging in" network cables and altering the computers hardware. The command line that the player uses is a separate "computer", the one where the player is sitting at in the "game" world. My basic idea is to have a network of computers in a sandbox like "game" controlled from a command line. But nothing fancy, most computation time would be dedicated to the simulation. Sort of like a map of the world.Īs well as drawing the command line of course. Drawing lines between machines that are "physically" connected to each other. The only "heavy" graphics i can think of right now is displaying each virtual machine and possibly some blinky lights as they communicate and/or runs instructions.

The "game" won't be graphically intensive, instead it will be computationally intensive running a "simulated world" running hundreds or even thousands of small programs on the GPU.Įach program is independent from each other except for basic intercommunication, which is detailed below. I am merely considering/researching my idea at this time. I don't possess all the required knowledge on the subjects i am about to ask about, please forgive my ignorance and/or incorrect nomenclature.Īlso, please bare in mind that while I am not educated on the subject, i am absolutely willing to learn.
Gpu cuda emulator code#
I haven't written a single line of code yet but i would do so in C# using one of the DirectX libraries in existence for. However, to better understand the question i will detail what it is i want to achieve in my game.ĭevelopment will happen with an NVidia GeForce GTX 980, no AMD/ATI specific hardware is available, in case it matters. This question is specific to GPU programming.
