multithreading parallel-processing julia-lang

multithreading - Julia @everywhere variables



parallel-processing julia-lang (1)

Para encontrar las funciones (y macros) que Spencer señaló en un paquete pequeño y agradable, revise ParallelDataTransfer.jl . Las pruebas son buenos ejemplos de uso (y el IC muestra que estas pruebas transmiten v0.5 en todas las plataformas).

Para su problema, puede usar la función sendto :

z = randn(10, 10); sendto(workers(), z=z) @everywhere println(z)

Estoy tratando de implementar código en paralelo usando Julia. Estoy usando la macro @everywhere para hacer que todos los procesos obtengan datos de RemoteRef.

¿Es posible usar un nombre de variable que solo está definido en el primer proceso en la expresión @everywhere y especificar de algún modo que deseo que envíe el valor de esa variable, y no el nombre de la variable, a todos los procesos?

Ejemplo:

r = RemoteRef() put(r, data) @everywhere data = fetch(r)

Esto devuelve un error porque r no está definido en todos los procesos.

¿Cómo debo mover datos a todos los procesos?

Además, ¿puedo decirle a Julia que ponga el valor en lugar del nombre de la variable en la expresión? Algo parecido a cómo name = "John"; println("Hello, $name") name = "John"; println("Hello, $name") imprimirá "Hello, John"