Wayne, I am seeing the same funny stuff on my old Debian box. I didn’t follow up, because I thought it might have to do something with my OpenGL setup… it’s an old Core2Duo which I usually don’t use, so it is not that good maintained.
But, the first picture is the OpenGL renderer, so this one is OK? Bernhard > On 4. Mar 2018, at 20:20, Wayne Stambaugh <stambau...@gmail.com> wrote: > > I'm not seeing any crash on Debian testing but there is some rather > amusing artifacts on the rendering. It looks like all of my 3D models > have been deconstructed to tiny bits all over the model space. Last > time I checked it was fine on windows. > > On 03/04/2018 02:06 PM, Maciej Suminski wrote: >> Bernhard, >> >> I suppose this is about raytrace rendering? Anyway, I see it crashing >> even without any design loaded. 3D viewer passes the first phase so I >> see the design rendered, but during 'Post processing shader' stage it >> crashes. >> >> Cheers, >> Orson >> >> On 03/04/2018 07:36 PM, Bernhard Stegmaier wrote: >>> Hi all, >>> >>> could please anybody test the following on a Windows/Linux OpenMP version? >>> >>> I have a PCB with only components placed (via “Update from Schematic”), no >>> routing done yet. >>> Make sure 3d-viewer OpenGL rendering is OK, close 3d-viewer. >>> Now, edit a footprint (“e”) and do a “Update Footprint from Library” for >>> only this footprint (no changes in footprint needed). >>> Open 3d-viewer again. >>> >>> Or: >>> Open PCB as above with only components and no routing yet. >>> Make sure that 3d-viewer in OpenGL mode is fine, close 3d-viewer. >>> Delete some of the components and reimport them vie “Update PCB from >>> Schematic”. >>> Open 3d-viewer again. >>> >>> In both cases my OpenMP builds (clang-5.0.1 with libomp-3.1) crash or hang >>> (all cores at 100%, grey window, nothing happens) 3d-viewer . >>> It doesn’t hang/crash in my non-OpenMP builds. >>> >>> If I save the PCB after the changes, close and reopen KiCad, then 3d-viewer >>> of OpenMP build is also fine again. >>> >>> >>> Regards, >>> Bernhard >>> >>>> On 3. Mar 2018, at 20:33, Bernhard Stegmaier <stegma...@sw-systems.de> >>>> wrote: >>>> >>>> Hi all, >>>> >>>> So, I played around a bit to get OpenMP and GCD into something like a >>>> “parallel_for” wrapper which either uses OpenMP or GCD. >>>> Unfortunately, OpenMP seems to require that the “for” statement directly >>>> follows the “#pragma omg for …”. >>>> That currently killed all my attempts to define such a “parallel_for” (as >>>> function, #define, ?) so that the code will stay the same for both. >>>> One option would be to pull the “#pragma omp for …” into the wrapper, but >>>> I guess this is not really acceptable (since you can’t specify any >>>> specific schedule parameters any longer). >>>> >>>> I will think about it some more just because of the challenge… but I am >>>> not very optimistic at the moment to get something nice. >>>> If anyone else has a nice idea, I’d be very interested to learn freaky new >>>> stuff… :) >>>> >>>> On the other side, I looked at using a non-Xcode OpenMP capable clang. >>>> The only caveat seems to be not to mix standard C++ libraries (in the past >>>> libc++/libstdc++ haven’t been compatible in some aspects - didn’t try to >>>> find out if that is resolved). >>>> Default on macOS now is libc++, but it seems that at least MacPorts builds >>>> clang with libstdc++ per default (no idea why). >>>> The MacPorts build can easily be switched to libc++. >>>> That clang-mp builds KiCad without problems even if dependencies have been >>>> built with Xcode clang. >>>> Everything seems to work as expected, multithreading is there where it >>>> should be. >>>> >>>> So, for now it seems to be the most easy solution to switch to a suitable >>>> non-Xcode clang for building packages - if we want to have OpenMP for >>>> macOS. >>>> >>>> AFAIK our build machines use Homebrew. >>>> Seems as if Homebrew decides which standard library to use depending on >>>> macOS version (https://docs.brew.sh/C++-Standard-Libraries >>>> <https://docs.brew.sh/C++-Standard-Libraries>). >>>> So, if everything is recent enough it might not be a problem at all… like >>>> it obviously also has been for Seth below. >>>> >>>> >>>> Regards, >>>> Bernhard >>>> >>>>> On 1. Mar 2018, at 17:47, Seth Hillbrand <seth.hillbr...@gmail.com >>>>> <mailto:seth.hillbr...@gmail.com>> wrote: >>>>> >>>>> Hi All- >>>>> >>>>> I was playing with this last night (don't normally compile on the mac) >>>>> and found that using homebrew's llvm 3.8.1 seems to compile fine with >>>>> -fopenmp. Running some OMP test code from >>>>> https://gist.github.com/sethhillbrand/45dfb50e5a1865ad65bda1d6522778c5 >>>>> <https://gist.github.com/sethhillbrand/45dfb50e5a1865ad65bda1d6522778c5> >>>>> shows expected result of 4 threads. I didn't get OpenMP errors when >>>>> compiling KiCad although I didn't really notice a substantial difference >>>>> in speed for the quick tests I was running. Maybe with more involved >>>>> operations. >>>>> >>>>> I'm not sure if this will require us to distribute a different libstdc++ >>>>> with KiCad. Probably. Does that seem feasible to the packing team? >>>>> >>>>> -S >>>>> >>>>> 2018-03-01 7:23 GMT-08:00 Bernhard Stegmaier <stegma...@sw-systems.de >>>>> <mailto:stegma...@sw-systems.de>>: >>>>> Hmm? >>>>> You keep everything as is (especially creating threads), but just put the >>>>> “#pragma …” before the for-loop. >>>>> So, there is one thread for the progress and one for the workers. >>>>> In the workers thread OpenMP (if there) takes care of adding additional >>>>> threads for parallelising the loop? >>>>> >>>>> Or, am I wrong with that? >>>>> >>>>>> On 1. Mar 2018, at 16:11, Jeff Young <j...@rokeby.ie >>>>>> <mailto:j...@rokeby.ie>> wrote: >>>>>> >>>>>> But then the progress reporter won’t work (and you’ve got no way to >>>>>> cancel). >>>>>> >>>>>> Non-pooling parallel threads are sufficient for zone filling, aren’t >>>>>> they? >>>>>> >>>>>> >>>>>>> On 1 Mar 2018, at 15:00, Bernhard Stegmaier <stegma...@sw-systems.de >>>>>>> <mailto:stegma...@sw-systems.de>> wrote: >>>>>>> >>>>>>> For now it would probably be fine to just restore the pragma for the >>>>>>> for loop optimisation. >>>>>>> Mac users are used to work single-threaded, all others would get back >>>>>>> multithreading here. >>>>>>> >>>>>>>> On 1. Mar 2018, at 15:58, Tomasz Wlostowski <tomasz.wlostow...@cern.ch >>>>>>>> <mailto:tomasz.wlostow...@cern.ch>> wrote: >>>>>>>> >>>>>>>> On 01/03/18 15:43, Jeff Young wrote: >>>>>>>>> The purpose is it works on Mac. >>>>>>>>> >>>>>>>>> But it does appear I misread the std::max( omp_get_num_procs(), 2 ) >>>>>>>>> part. >>>>>>>>> >>>>>>>> >>>>>>>> Thanks Jeff! >>>>>>>> >>>>>>>> Be aware that neither std::thread nor std::async have any concept of >>>>>>>> thread pooling - we need to look for a suitable library or write or >>>>>>>> own. >>>>>>>> >>>>>>>> Cheers, >>>>>>>> Tom >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>>>>> <https://launchpad.net/~kicad-developers> >>>>>>>> Post to : kicad-developers@lists.launchpad.net >>>>>>>> <mailto:kicad-developers@lists.launchpad.net> >>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>>>>> <https://launchpad.net/~kicad-developers> >>>>>>>> More help : https://help.launchpad.net/ListHelp >>>>>>>> <https://help.launchpad.net/ListHelp> >>>>>>> >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>> <https://launchpad.net/~kicad-developers> >>>>> Post to : kicad-developers@lists.launchpad.net >>>>> <mailto:kicad-developers@lists.launchpad.net> >>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>> <https://launchpad.net/~kicad-developers> >>>>> More help : https://help.launchpad.net/ListHelp >>>>> <https://help.launchpad.net/ListHelp> >>>>> >>>>> _______________________________________________ >>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>> <https://launchpad.net/~kicad-developers> >>>>> Post to : kicad-developers@lists.launchpad.net >>>>> <mailto:kicad-developers@lists.launchpad.net> >>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>> <https://launchpad.net/~kicad-developers> >>>>> More help : https://help.launchpad.net/ListHelp >>>>> <https://help.launchpad.net/ListHelp> >>>> >>>> _______________________________________________ >>>> Mailing list: https://launchpad.net/~kicad-developers >>>> Post to : kicad-developers@lists.launchpad.net >>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>> More help : https://help.launchpad.net/ListHelp >>> >>> >>> >>> >>> _______________________________________________ >>> Mailing list: https://launchpad.net/~kicad-developers >>> Post to : kicad-developers@lists.launchpad.net >>> Unsubscribe : https://launchpad.net/~kicad-developers >>> More help : https://help.launchpad.net/ListHelp >>> >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : kicad-developers@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp >> > <3d-view-no-raytrace.png><3d-view-with-raytrace.png>_______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp