Parallelism - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Parallelism

 

Parallelism updates:

• 

Parallel Garbage Collector

• 

Thread Local Remember Tables

• 

Thread Local Data

Maple 17 introduces parallelism into its memory management system, resulting in performance gains at a low level that will benefit every large computation. Additionally, new programming constructs were added to make it easier and safer to write parallel code.

 

Parallel Garbage Collector

Thread Local Remember Tables

Thread Local Data

Parallel Garbage Collector

The garbage collector in Maple 17 now takes advantage of multiple cores, speeding up even serial operations. In addition, if you are running parallel code, the system takes better advantage of thread-specific memory management, leading to an overall increase in parallelism.

 

For more information, see Parallel Garbage Collector.

Thread Local Remember Tables

In Maple 17, procedures have different remember tables for each thread the procedure is executed on.  When a procedure with a thread local remember table is executed in parallel, modifications to the remember table will not lead to thread safety issues.  This change makes it easier to write thread safe functions that make use of remember tables, especially when direct manipulation of the remember table is required.

 

A procedure with a shared remember table, one that is shared between threads, can still be created by passing option shared to the procedure. This provides the same functionality as previous versions of Maple.

 

For more information, see Thread Local Remember Tables.

Thread Local Data

In Maple 17, module local variables can be declared thread local, meaning that they store a different value for each thread that access the variable. This allows for complex algorithms that need to maintain state to be written in a thread safe manner.

 

For more information, see Thread Local Data.

See Also

Index of New Commands and Packages in Maple 17

Maintaining a thread local state

Option remember in Procedures