News for hackers. Stuff that matters.
Re:Google offers free fabbing for 130nm open-source chips by imtringued on Tuesday July 07, 2020 @07:10AM (#23757934)
From what I can tell a lot of parametric design software is also single threaded. I felt like this is was an opportunity where usage of multiple cores could make Freecad stand out a little bit. Except Freecad uses opencascade as their kernel and they require you to sign a CLA just to download the git repository. Considering that barrier to just cloning the code I just decided to not contribute anything. They do offer zip file downloads of the source code but at that point I lost interest.
Re:Google offers free fabbing for 130nm open-source chips by nybble41 on Tuesday July 07, 2020 @10:54AM (#23759874)
> Except Freecad uses opencascade as their kernel and they require you to sign a CLA just to download the git repository.

    git clone https://git.dev.opencascade.org/repos/occt.git
It's not well-advertised, but they do offer public read-only HTTP access to the git repository.[1] This URL really should be listed on the Resources page as well as the project summary in GitWeb.

[1] https://dev.opencascade.org/index.php?q=node/1212#comment-86...

Re:Google offers free fabbing for 130nm open-source chips by phkahler on Tuesday July 07, 2020 @09:29AM (#23759005)
SolveSpace now has some code paths multithreaded. It's not clear if this will make the next release but you can build from source with -fopenmp.

Like you say, it's kind of shocking to see one core running at 100 percent while the rest do nothing and the app is sluggish in 2020.

Re:Google offers free fabbing for 130nm open-source chips by CompAidedPoster on Tuesday July 07, 2020 @08:01AM (#23758267)
I suspect geometric kernels and 2D/3D renderers don't fall into the "easy to parallelize" category. Of course there are functions that use multiple threads, but it's not obvious how you could build the core system to do so. However the code in CAD software is often pretty old, it wasn't that long ago that many of these still used intermediate mode OpenGL and I wouldn't be surprised if some still do.

In the same vein something like ECAD tools don't use GPU-accelerated 2D rendering but instead use GDI and friends (which used to be HW-accelerated, but isn't since WDDM/Vista).

A lot of "easy" opportunities to improve UX and productivity.

Re:Google offers free fabbing for 130nm open-source chips by jschwartzi on Tuesday July 07, 2020 @12:07PM (#23760619)
It seems like it depends a lot on your representation of the circuit network. If you consider each trace and PCB element as a node in a graph which maps the connections of the traces and PCB elements then you could parallelize provided you can describe the boundary conditions at each node. There's a degree to which they're interdependent, but there are also nodes at which the boundary condition is effectively constant and I think those would make good cut points for parallelization.