# Windows 10 + Linux working together

**URL:** <https://discourse.julialang.org/t/windows-10-linux-working-together/14727>\
**Category:** Julia at Scale\
**Created:** [September 9, 2018, 9:59am UTC](https://discourse.julialang.org/t/windows-10-linux-working-together/14727 "2018-09-09T09:59:43Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [September 9, 2018, 9:59am UTC](https://discourse.julialang.org/t/windows-10-linux-working-together/14727/1 "2018-09-09T09:59:44Z")

</div>

I have two computers, one running Windows 10 and the other running Ubuntu 14.04,  
both with the same version of the language: Julia 0.7.0.  
I would like to combine the computing power of the two computers,  
and control a simple distributed `pmap` calculation from Windows as the master.

Obviously I need a passwordless ssh from Windows to Linux.  
For adding processes on Linux, `addprocs` needs to set up the correct `dir` and `exename`.  
I suppose I have done these steps correctly.

My code is contained in a single module in a single file.  
But as the two filesystems are completely separate,  
I suppose I need `MyModule.jl` to exist on both computers  
and I have to synchronize them manually.  
– Is this correct?

Then how should I compile and bring them into scope?  
– Is “`@everywhere workers() using MyModule`” the correct way to do that?

– Are there any other gotchas to be expected?

I would greatly appreciate any advice.

---

<div class="post-metadata">

**Author:** ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)\
**Post date:** [September 9, 2018, 10:07am UTC](https://discourse.julialang.org/t/windows-10-linux-working-together/14727/2 "2018-09-09T10:07:46Z")

</div>

Technically, the script file doesn’t have to exist twice. It just has to be accessible from both machines. I use sftp and mountain duck to mount a Linux fs in windows.

---

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [September 9, 2018, 5:45pm UTC](https://discourse.julialang.org/t/windows-10-linux-working-together/14727/3 "2018-09-09T17:45:56Z")

</div>

I understand that some kind of file sharing is preferred.

But what if the two file systems remain separate?  
Assuming that the source code of `MyModule.jl` is already synchronized,  
how is it achieved that module compilation occurs only once in each of the separate file systems?

As I asked earlier:  
– Is “ `@everywhere workers() using MyModule` ” the correct way to do that?

---

<div class="post-metadata">

**Author:** ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)\
**Post date:** [September 9, 2018, 7:46pm UTC](https://discourse.julialang.org/t/windows-10-linux-working-together/14727/4 "2018-09-09T19:46:54Z")

</div>

> [@turtle](#):
>
> – Is “ `@everywhere workers() using MyModule` ” the correct way to do that?

Looks fine to me.
