Menu

#274 Implementing parallel support on Windows.

Incomplete
closed-accepted
nobody
None
5
2014-06-25
2014-05-22
No

Here's the patch to enable SMP support on Windows. There wasn't much code work to do, just enabling the feature and ensuring that the Windows APIs were called correctly.

-- Gustave Granroth.

1 Attachments

Discussion

  • Cliff Yapp

    Cliff Yapp - 2014-05-22

    Awesome - applied as commit 60780. That gets us closer, but something odd is going on with "rt" and threading. Here's what I did:

    Built on Windows with MSVC and this threading enabled.
    launched mged.exe
    opened share/db/havoc.g in the build directory
    run the command 'e havoc' to get the geometry displayed in MGED
    test raytracing with the command 'rt -P1' for single threaded raytracing
    test again with just 'rt' to do multithreaded raytracing.

    The latter is spending a lot of time without producing an image, for some reason. Not sure why yet - can you reproduce this behavior?

    Cheers,
    CY

     
  • Gustave Granroth

    Here's an updated version of semaphore.c -- I switched Windows APIs to avoid the long wait time.

    NOTE: I made some changes to the posix/Sun OS side to properly clean up the threads upon reinitialization. These have not yet been tested; I only have a Windows build.

     
  • Cliff Yapp

    Cliff Yapp - 2014-06-25

    Gustave,

    Apologies with the delay getting back to you - I tested the updated in my Windows virtual machine, and it looks really good. We'll need to test it further, but as it's applied in revision 60822 and working I'm going to go ahead and close this patch. Nice work.

     
  • Cliff Yapp

    Cliff Yapp - 2014-06-25
    • status: open --> closed-accepted
     

Log in to post a comment.