this post was submitted on 13 Jul 2023
50 points (94.6% liked)
Linux
48165 readers
703 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Complex CAD is extremely demanding on CPU hardware. The tree is built sequentially and the math is all single threaded. Once CAD gets past a certain threshold the software needs to start tuning the way the Kernel works. The regular settings optimised for throughput and latency become a problem and the software needs away to change this. I've been messing with the Linux CPU scheduler to try to improve performance for FreeCAD designing complex assemblies on an older machine. I finally gave in and ordered another machine, but am still curious about CPU schedulers in general. I don't know how other software accomplishes improved performance on the hardware. I can only speculate, but I am willing to bet there are methods used to alter kernel parameters like the CPU scheduler in programs like Solidworks. The way these things are done is probably not portable to any other kernel.
I've been using system76-scheduler for a while now and it works great. You can create a profile for your desired software and all of its related processes and then assign a high priority (low niceness) to them.
Matrix multiplications could be at least somehow multi threaded and few fields has been more optimized than displaying 3D. Do you mean simulations maybe?
I would have thought they were done mostly on the GPU nowadays?
Open a .step file in a text editor and you'll understand better. All the coordinates are calculated like they appear in a step file and they are mostly relative to each other.