Multi-Threaded FISH

Multi-threaded FISH

The FISH scripting language is now multi-threaded, resulting in much faster execution of FISH functions. This an important new feature in PFC 7 as FISH is commonly used during model cycling. Multi-threaded FISH provides a new LIST data type, SPLITTING syntax, and added OPERATORS.

FISH Lists

Lists are one-dimensional arrays of general FISH values. They differ from matrices in that each index can hold any valid FISH type (including another list). They differ from arrays in that they are passed by value, and have only one dimension. All elements of a list are iterated using the loop foreach statement. The access operator (->) can be applied to lists, which permits the retrieval or assignment of an element and returns another list.

LEARN MORE

Splitting

FISH splitting allows a function, operator, or library call to be executed repeatedly on each element of an aggregate type (a list, an array, a container of objects, etc). Splitting is executed on all available threads. Splitting can be used as an alternative to loop statements to perform actions on many objects in a very clear and concise manner.

LEARN MORE

Operators

FISH operators are a special class of function designed to be executed in a multi-threaded environment.

On a repeated function call made using splitting, if the symbol was declared as an operator these separate executions will be distributed on all available threads (see the program threads command). On a typical modern multi-core computer and a large set of data this can result in a quite substantial increase in speed.

One of the most common and important uses of FISH operators—indeed their primary reason for being—is to use during cycling. Otherwise a single threaded FISH function that checks or changes all objects in a model will easily dominate the run time of the system.

LEARN MORE


Últimas noticias
  • Itasca has announced the release of FLAC2D v9 Itasca has announced the release of FLAC2D v9, revolutionizing the way we analyze and predict...
    Leer mas
  • 6th Itasca Symposium on Applied Numerical Modeling The next Itasca Symposium will take place June 3 - 6, 2024, in Toronto, Canada....
    Leer mas
  • Itasca International Inc. announces the Selection of its New CEO Itasca International Inc. announces the Selection of its New CEO ...
    Leer mas

Próximos Eventos
22 Abr.
FLAC2D In-Person Introductory Course
Live in-person introductory training course. This 3-day course provides a general overview of FLAC2D and covers many basic concepts and... Leer mas
29 Abr.
PFC In-Person Introductory Course
Live in-person introductory training course. This four-day course provides guidance in the use of the Itasca codes PFC2D and PFC3D to s... Leer mas
29 May.
Getting Started with FLAC2D/FLAC3D
Objectives of the training: •Understand the FLAC2D/ FLAC3D numerical approach and the types ofproblems it can solve•Know how to manipul... Leer mas