The multi-threading stuff is on the threading branch. There is a bunch of work 
remaining as captured on github with the multi-threading label. However, if you 
want to take a look at the current api, see the examples in 
test/perf/threads/laplace3d on the threading branch. 

Basically there is the equivalent of @parallel for now - you can annotate a 
loop with `@nthreads all` and see how it speeds up - or crashes :-)

You can control the number of threads with the JULIA_NUM_THREADS environment 
variable at startup to see how things scale with more processors.


-viral



> On 17-Mar-2015, at 2:56 pm, Jame Fairbanks <[email protected]> wrote:
> 
> Are there some docs on what is exposed at the user level in threading?
> Should the benchmarks be implemented in serial with information of how to 
> parallelize them so that as the parallel api develops the benchmark can be 
> parallelized according to the api? Or do you want them implemented with the 
> current processes and remote refs api?
> 
> -james
> 
> On Mar 17, 2015, at 09:49 , Viral Shah <[email protected]> wrote:
> 
>> I don’t know if we have the capabilities exposed at the user level to do 
>> this yet - but it is a good benchmark to have.
>> 
>> -viral
>> 
>> 
>> 
>>> On 16-Mar-2015, at 4:31 pm, James Fairbanks <[email protected]> wrote:
>>> 
>>> Yes I can work on that. The most important piece that I don't know how to 
>>> build in Julia is a parallel queue where many threads can append and pop in 
>>> parallel. In omp that can be implemented with atomics. 
>>> 
>>> I suppose this leads to an even simpler benchmark of the parallel queue 
>>> performance.
>>> 
>>> James
>>> 
>>> On Sun, Mar 15, 2015, 11:18 PM Viral Shah <[email protected]> wrote:
>>> This is a great example. If you are familiar with it, can you submit a PR? 
>>> I think it would be a great addition to our perf suite in general, and an 
>>> excellent candidate for multi-threading.
>>> 
>>> -viral
>>> 
>>> 
>>> 
>>>> On 16-Mar-2015, at 10:22 am, James Fairbanks <[email protected]> wrote:
>>>> 
>>>> The graph 500 benchmark was developed to help people benchmark machines 
>>>> and programming environments for graph algorithms which tend to be 
>>>> different from numerical algorithms. There is a reference implementation 
>>>> in octave available. It should be a good example problem.
>>>> 
>>>> http://www.graph500.org/specifications
>>>> 
>>>> http://www.graph500.org/referencecode
>>> 
>> 
> 

Reply via email to