Is there a list of multi-threaded applications?


  1. Posts : 355
    Win10 Ver. 1809 Build 17763.`
       #1

    Is there a list of multi-threaded applications?


    There has been a lot of talk about new CPUs with 8 (or more) cores capable of running 16 (or more) simultaneous instruction streams (threads). But this has a real benefit only of an application is multi-threaded, meaning it can split it's processing job up into multiple, simultaneous instruction streams that the CPU can process in parallel.

    In the world of 3D product design and 3D printing this can make a huge difference - far greater than any difference due to CPU cycle time. But so far there are very few applications that can actually do multi-threading. It would be nice to see a list of apps that are multi-threaded, since these will run much faster than single threaded ones.
      My Computer


  2. Posts : 234
    Windows 10 Pro (x64)
       #2

    bbinnard said:
    ...do multi-threading. It would be nice to see a list of apps that are multi-threaded, since these will run much faster than single threaded ones.
    Only if their workload can be spread across multiple threads. This can only be done for operations that are not dependent, that can run out of sequence.

    See: Parallel computing - Wikipedia


    And for the record, most applications are multi-threaded. Open Task Manager > Details > Right-Click on the column headers > Select Columns > Threads. Majority of the time an application is running UI threads, processing threads, and so forth.
      My Computer


  3. Posts : 27,182
    Win11 Pro, Win10 Pro N, Win10 Home, Windows 8.1 Pro, Ubuntu
       #3

    logicearth said:
    Only if their workload can be spread across multiple threads. This can only be done for operations that are not dependent, that can run out of sequence.

    See: Parallel computing - Wikipedia


    And for the record, most applications are multi-threaded. Open Task Manager > Details > Right-Click on the column headers > Select Columns > Threads. Majority of the time an application is running UI threads, processing threads, and so forth.
    Nice post, but I think the OP means CPU core threads, and that's different than program threads.
    • Programming abstraction. Dividing up work and assigning each division to a unit of execution (a thread) is a natural approach to many problems. Programming patterns that utilize this approach include the reactor, thread-per-connection, and thread pool patterns. Some, however, view threads as an anti-pattern. The inimitable Alan Cox summed this up well with the quote, "threads are for people who can't program state machines."



    • Parallelism. In machines with multiple processors, threads provide an efficient way to achieve true parallelism. As each thread receives its own virtualized processor and is an independently schedulable entity, multiple threads may run on multiple processors at the same time, improving a system's throughput. To the extent that threads are used to achieve parallelism—that is, there are no more threads than processors—the "threads are for people who can't program state machines" quote does not apply.

    If you are using threads as a programming abstraction to handle UI elements, for example, you'll have one thread per UI element (or whatever) regardless of whether you have 1 core or 12. Similarly, if you were using threads to perform blocking I/O, you'd scale your thread count with your I/O capacity, not your processing power.
    What is the relation between the number of threads and the number of CPU cores? - Quora

    I don't have a server motherboard with 4 XEON proccessors.
    Is there a list of multi-threaded applications?-2017_02_25_09_27_391.png

    For the OP:
    Some programs have a multicore option in their preferences, but usually that's for their paid versions.
    A good example is MediaMonkey:
    Is there a list of multi-threaded applications?-2017_02_25_09_33_431.png

    Most programs only need a single CPU thread.
    A good example is when overclocking my 6700K to 5.18986GHz: Official OC Leaderboard
    I needed to use only a single core, and turn off hyperthreading to boot into Windows 10 and not BSOD(keeps the CPU cooler).
    With this single thread, I was able to use Windows, have EDGE running, play music in Groove, and validate using CPU-Z, at the same time with no problems.
      My Computers


  4. Posts : 234
    Windows 10 Pro (x64)
       #4

    Cliff S said:
    Nice post, but I think the OP means CPU core threads, and that's different than program threads.
    Well yes there is that, but when you are working in the confines of the Windows Programming Model, you generally don't work directly with CPU threads (We are not in the old DOS days anymore.) You go though Windows. Directly working with the CPU is usually something only done in very special cases on special hardware configurations and not in Windows.

    Old Days: Real mode - Wikipedia
    New Days: Protected mode - Wikipedia
      My Computer


  5. Posts : 355
    Win10 Ver. 1809 Build 17763.`
    Thread Starter
       #5

    Yes, I am fully aware of the differences between the multiple tasks shown by Task Manager and the ability of some applications to split their workload into multiple parallel processes that can run simultaneously. It is the latter concept I was addressing.

    One good example of this is the Vegas video editor program. As anyone who does video editing knows, rendering the final output to a viewable video file is the most CPU intensive part of the entire editing process. Vegas has the ability to break this into as many individual processes as its CPU can provide - on my i7 CPU I typcally specify 8; this allows the rendering process to finish in far less time than if there were only 1.

    Another example is slicing a 3D printable model to produce the required GCode to run a 3D printer. Most slicing programs today are single threaded, but the one I use (Craftware) uses all the CPU power from all the i7's cores, and so it slices complex 3D models far faster than any other slicer.

    My original question was whether or not there was a list of multi-thread capable programs, ,because these will always process far faster than comparable single-threaded ones. Of course, to be multi-threaded, an application's workload has to be able to be broken down into multiple parallel parts, and the application developers have to be able to write code that supports parallel processing. I recognize that this is a major departure from the single-threaded approach most software development has used to date, but my experience so far shows that multi-threading produces far greater performance improvements than relatively small improvements in CPU cycle times.
      My Computer


  6. Posts : 27,182
    Win11 Pro, Win10 Pro N, Win10 Home, Windows 8.1 Pro, Ubuntu
       #6

    Something like this?: Thread-Optimized Software - Core i7-980X: Do You Want Six Cores Or 12 Threads? Page three title "Thread-Optimized Software"
      My Computers


  7. Posts : 355
    Win10 Ver. 1809 Build 17763.`
    Thread Starter
       #7

    That;s great - just what i was looking for. Thanks,
      My Computer


  8. Posts : 27,182
    Win11 Pro, Win10 Pro N, Win10 Home, Windows 8.1 Pro, Ubuntu
       #8

    bbinnard said:
    That;s great - just what i was looking for. Thanks,
    You're welcome:)
      My Computers


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 04:05.
Find Us




Windows 10 Forums