System 9.0
With GAUSS 9.0, you have the tools that you need in order to harness the power and speed of multi-core, multi-processor, and hyperthreaded systems! GAUSS 9.0 introduces new functions for multithreading your programs.
Another important addition is increased array support in more intrinsics
and operators. This allows you to seamlessly use arrays in more of the
operators and intrinsic functions.
The new threading functions enable you to define independent sections of your program that will run at the same time. These threads share the same workspace and can access all of the same symbols, procedures and keywords. You can create as many threads as you want, allowing you to take advantage of as many processors as you have.
Features and Enhancements
- New threading functions
- ThreadStat
- ThreadBegin
- ThreadEnd
- ThreadJoin
- Additional support for string arrays
By making use of threads in your code,you can take better advantage of the available processors on your machine. Dividing your code into multiple threads that run simultaneously can reduce the overall
processing time of your programs.
Below is an illustration that shows one thread set with four
threads, two that are blocks of code set off by ThreadBegin and ThreadEnd , two that are single lines of code using ThreadStat. Each thread processes at the same time as the other threads. Your program waits at the ThreadJoin command for all threads to finish. When the threads have completed, your program continues, making use of the work the threads have done.

In the example above, this block of code could potentially
run nearly four times faster on a quad core machine because the threads are running simultaneously.
Threads can be created virtually anywhere--in the main code, in procedures, and in keywords. You can also create threads within other threads. This means you can multithread nearly anything you want and call it from anywhere in your program. You can multithread some
or all of the procedures and keywords in your libraries and call them freely anywhere in your multithreaded programs.
Platforms
Now available for Windows (32-bit and 64-bit), Linux (32-bit and 64-bit), Mac OS X
(32-bit and 64-bit), and Sun SPARC (64-bit).
