Swift on a cluster?


(Graymalk Meow) #1

Hi,

Two things.

1. Has anyone run swift programs on a cluster? Is it possible? You can
take that as meaning I am interested in giving it a try. Googling this
turns up something super confusing: swift-lang.org
Is this the same language? If it isn't then there is a real naming problem
here.

My interest stems from a love of the Apple world and wanting to somehow
include it in some work I'm doing comparing the performance of
multiple languages in parallel systems. But my goal is not to make this
particular Swift parallel if it isn't already, so if I can't
relatively easily make some parallel programs with it then I'll have to
pass. And by relatively easily, I mean... If I can use it with
OpenMPI, OpenMP, or OpenCL (using CUDA or, if I just run it on my Mac, then
OpenGL, but the clusters have CUDA) AND if I can at least compile for
different platforms (CentOS Linux and Raspbian Linux) then we're in
business. Googling is unhelpful because of the two languages one name
problem. The CentOS systems are large heterogeneous clusters that don't
presently have Swift (either one) on them at all so I might be dead in the
water anyway but I might be able to get them to install it if I can argue
that it'll work. The Raspberries are just my toy cluster that I have full
control over. My Mac beats the crap out of them in performance lol, as it
should.

2. For fun:
http://mobile.eweek.com/developer/javascript-most-popular-language-stack-overflow-report.html

"Meanwhile, the use of the Swift <https://swift.org/> programming language
is exploding, the survey showed. Swift grew faster than any other
technology last year, the survey showed."


(Ramakrishna Mallireddy) #2

swift-lang.org is official website for Apple Swift Language.

C, ObjC , C++[need to write C/ObjC wrapper] libraries can be used with
swift code.

The swift compiler currently works on mac & linux.

···

On Fri, Mar 18, 2016 at 10:42 PM, Graymalk Meow via swift-users < swift-users@swift.org> wrote:

Hi,

Two things.

1. Has anyone run swift programs on a cluster? Is it possible? You can
take that as meaning I am interested in giving it a try. Googling this
turns up something super confusing: swift-lang.org
Is this the same language? If it isn't then there is a real naming
problem here.

My interest stems from a love of the Apple world and wanting to somehow
include it in some work I'm doing comparing the performance of
multiple languages in parallel systems. But my goal is not to make this
particular Swift parallel if it isn't already, so if I can't
relatively easily make some parallel programs with it then I'll have to
pass. And by relatively easily, I mean... If I can use it with
OpenMPI, OpenMP, or OpenCL (using CUDA or, if I just run it on my Mac, then
OpenGL, but the clusters have CUDA) AND if I can at least compile for
different platforms (CentOS Linux and Raspbian Linux) then we're in
business. Googling is unhelpful because of the two languages one name
problem. The CentOS systems are large heterogeneous clusters that don't
presently have Swift (either one) on them at all so I might be dead in the
water anyway but I might be able to get them to install it if I can argue
that it'll work. The Raspberries are just my toy cluster that I have full
control over. My Mac beats the crap out of them in performance lol, as it
should.

2. For fun:
http://mobile.eweek.com/developer/javascript-most-popular-language-stack-overflow-report.html

"Meanwhile, the use of the Swift <https://swift.org/> programming
language is exploding, the survey showed. Swift grew faster than any other
technology last year, the survey showed."

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


(Lukas Stabe) #3

Hi Vicky,

see my responses inline.

– Lukas

Hi,

Two things.

1. Has anyone run swift programs on a cluster? Is it possible? You can take that as meaning I am interested in giving it a try. Googling this turns up something super confusing: swift-lang.org <http://swift-lang.org/>
Is this the same language? If it isn't then there is a real naming problem here.

swift-lang.org <http://swift-lang.org/> is, in fact, the homepage of two different languages designed to write MPI applications, the newer one being “Swift/T”.

My interest stems from a love of the Apple world and wanting to somehow include it in some work I'm doing comparing the performance of multiple languages in parallel systems. But my goal is not to make this particular Swift parallel if it isn't already, so if I can't relatively easily make some parallel programs with it then I'll have to pass.

Swift is “parallel” similar to how C and C++ without special tools are. You can use pthreads or dispatch (the Linux port of which will have a strable release with Swift 3).

And by relatively easily, I mean... If I can use it with OpenMPI,

I am not aware of MPI (not just OpenMPI necessarily) bindings for Swift, but those should be pretty straight-forward to do. Have a look at the swift-package-manager documentation for simply wrapping the C API and at the Rust MPI crates for some ideas on how the API could be made more swifty.

OpenMP,

Since OpenMP is a set of compiler directives that are deeply integrated with C, C++ and Fortran, it would be a nontrivial amount of work to port it to Swift. You can, however, replicate some of its functionality using dispatch and other Swift libraries.

or OpenCL (using CUDA or, if I just run it on my Mac, then OpenGL, but the clusters have CUDA)

Like MPI, OpenCL provides a C API that void be adapted for Swift. I don’t know steht anyone has down this yet. I don’t have enough experience with CUDA to comment on that, but I suspect it might be similar.

AND if I can at least compile for different platforms (CentOS Linux and Raspbian Linux)

I remember reading about both CentOS and Raspberry Pi in PRs on GitHub or on the mailing lists. You can probably find info about that by searching those.

then we're in business. Googling is unhelpful because of the two languages one name problem. The CentOS systems are large heterogeneous clusters that don't presently have Swift (either one) on them at all so I might be dead in the water anyway but I might be able to get them to install it if I can argue that it'll work.

It could be possible to compile the code on other systems and statically link or copy over the important libraries, so you wouldn’t need to run the Swift compiler on the cluster at all.

···

On 18 Mar 2016, at 12:12, Graymalk Meow via swift-users <swift-users@swift.org <mailto:swift-users@swift.org>> wrote:

The Raspberries are just my toy cluster that I have full control over. My Mac beats the crap out of them in performance lol, as it should.

2. For fun: http://mobile.eweek.com/developer/javascript-most-popular-language-stack-overflow-report.html

"Meanwhile, the use of the Swift <https://swift.org/> programming language is exploding, the survey showed. Swift grew faster than any other technology last year, the survey showed."
_______________________________________________
swift-users mailing list
swift-users@swift.org <mailto:swift-users@swift.org>
https://lists.swift.org/mailman/listinfo/swift-users


(Paul Schifferer) #4

This is incorrect. swift-lang.org is a completely unrelated language that happens to be called Swift. The official site for Apple’s Swift is swift.org.

···

--
Paul Schifferer
Sent with Airmail

On March 18, 2016 at 10:53:48, Ramakrishna Mallireddy via swift-users (swift-users@swift.org) wrote:

swift-lang.org is official website for Apple Swift Language.

C, ObjC , C++[need to write C/ObjC wrapper] libraries can be used with swift code.

The swift compiler currently works on mac & linux.

On Fri, Mar 18, 2016 at 10:42 PM, Graymalk Meow via swift-users <swift-users@swift.org> wrote:
Hi,

Two things.

1. Has anyone run swift programs on a cluster? Is it possible? You can take that as meaning I am interested in giving it a try. Googling this turns up something super confusing: swift-lang.org
Is this the same language? If it isn't then there is a real naming problem here.

My interest stems from a love of the Apple world and wanting to somehow include it in some work I'm doing comparing the performance of multiple languages in parallel systems. But my goal is not to make this particular Swift parallel if it isn't already, so if I can't relatively easily make some parallel programs with it then I'll have to pass. And by relatively easily, I mean... If I can use it with OpenMPI, OpenMP, or OpenCL (using CUDA or, if I just run it on my Mac, then OpenGL, but the clusters have CUDA) AND if I can at least compile for different platforms (CentOS Linux and Raspbian Linux) then we're in business. Googling is unhelpful because of the two languages one name problem. The CentOS systems are large heterogeneous clusters that don't presently have Swift (either one) on them at all so I might be dead in the water anyway but I might be able to get them to install it if I can argue that it'll work. The Raspberries are just my toy cluster that I have full control over. My Mac beats the crap out of them in performance lol, as it should.

2. For fun: http://mobile.eweek.com/developer/javascript-most-popular-language-stack-overflow-report.html

"Meanwhile, the use of the Swift programming language is exploding, the survey showed. Swift grew faster than any other technology last year, the survey showed."

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


(Ramakrishna Mallireddy) #5

Sorry for misleading, yeah swift.org is the official site.

···

On Fri, Mar 18, 2016 at 11:28 PM, Paul Schifferer <paul@schifferers.net> wrote:

This is incorrect. swift-lang.org is a completely unrelated language that
happens to be called Swift. The official site for Apple’s Swift is
swift.org.

--
Paul Schifferer
Sent with Airmail

On March 18, 2016 at 10:53:48, Ramakrishna Mallireddy via swift-users ( > swift-users@swift.org) wrote:

swift-lang.org is official website for Apple Swift Language.

C, ObjC , C++[need to write C/ObjC wrapper] libraries can be used with
swift code.

The swift compiler currently works on mac & linux.

On Fri, Mar 18, 2016 at 10:42 PM, Graymalk Meow via swift-users < > swift-users@swift.org> wrote:

Hi,

Two things.

1. Has anyone run swift programs on a cluster? Is it possible? You can
take that as meaning I am interested in giving it a try. Googling this
turns up something super confusing: swift-lang.org
Is this the same language? If it isn't then there is a real naming
problem here.

My interest stems from a love of the Apple world and wanting to somehow
include it in some work I'm doing comparing the performance of
multiple languages in parallel systems. But my goal is not to make this
particular Swift parallel if it isn't already, so if I can't
relatively easily make some parallel programs with it then I'll have to
pass. And by relatively easily, I mean... If I can use it with
OpenMPI, OpenMP, or OpenCL (using CUDA or, if I just run it on my Mac, then
OpenGL, but the clusters have CUDA) AND if I can at least compile for
different platforms (CentOS Linux and Raspbian Linux) then we're in
business. Googling is unhelpful because of the two languages one name
problem. The CentOS systems are large heterogeneous clusters that don't
presently have Swift (either one) on them at all so I might be dead in the
water anyway but I might be able to get them to install it if I can argue
that it'll work. The Raspberries are just my toy cluster that I have full
control over. My Mac beats the crap out of them in performance lol, as it
should.

2. For fun:
http://mobile.eweek.com/developer/javascript-most-popular-language-stack-overflow-report.html

"Meanwhile, the use of the Swift <https://swift.org/> programming
language is exploding, the survey showed. Swift grew faster than any other
technology last year, the survey showed."

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


(Graymalk Meow) #6

Apparently I anonymized myself when I signed up to this mailing list.
Apologies for the strange name. I had forgotten I had done that. My name is
Vicky and I'm a grad student in high performance computing. My questions
still stand and if anyone is using Apple's Swift in any work, I would love
to get in touch.

···

On Friday, 18 March 2016, Ramakrishna Mallireddy < ramakrishna.malli@gmail.com> wrote:

Sorry for misleading, yeah swift.org is the official site.

On Fri, Mar 18, 2016 at 11:28 PM, Paul Schifferer <paul@schifferers.net > <javascript:_e(%7B%7D,'cvml','paul@schifferers.net');>> wrote:

This is incorrect. swift-lang.org is a completely unrelated language
that happens to be called Swift. The official site for Apple’s Swift is
swift.org.

--
Paul Schifferer
Sent with Airmail

On March 18, 2016 at 10:53:48, Ramakrishna Mallireddy via swift-users ( >> swift-users@swift.org >> <javascript:_e(%7B%7D,'cvml','swift-users@swift.org');>) wrote:

swift-lang.org is official website for Apple Swift Language.

C, ObjC , C++[need to write C/ObjC wrapper] libraries can be used with
swift code.

The swift compiler currently works on mac & linux.

On Fri, Mar 18, 2016 at 10:42 PM, Graymalk Meow via swift-users < >> swift-users@swift.org >> <javascript:_e(%7B%7D,'cvml','swift-users@swift.org');>> wrote:

Hi,

Two things.

1. Has anyone run swift programs on a cluster? Is it possible? You can
take that as meaning I am interested in giving it a try. Googling this
turns up something super confusing: swift-lang.org
Is this the same language? If it isn't then there is a real naming
problem here.

My interest stems from a love of the Apple world and wanting to somehow
include it in some work I'm doing comparing the performance of
multiple languages in parallel systems. But my goal is not to make this
particular Swift parallel if it isn't already, so if I can't
relatively easily make some parallel programs with it then I'll have to
pass. And by relatively easily, I mean... If I can use it with
OpenMPI, OpenMP, or OpenCL (using CUDA or, if I just run it on my Mac, then
OpenGL, but the clusters have CUDA) AND if I can at least compile for
different platforms (CentOS Linux and Raspbian Linux) then we're in
business. Googling is unhelpful because of the two languages one name
problem. The CentOS systems are large heterogeneous clusters that don't
presently have Swift (either one) on them at all so I might be dead in the
water anyway but I might be able to get them to install it if I can argue
that it'll work. The Raspberries are just my toy cluster that I have full
control over. My Mac beats the crap out of them in performance lol, as it
should.

2. For fun:
http://mobile.eweek.com/developer/javascript-most-popular-language-stack-overflow-report.html

"Meanwhile, the use of the Swift <https://swift.org/> programming
language is exploding, the survey showed. Swift grew faster than any other
technology last year, the survey showed."

_______________________________________________
swift-users mailing list
swift-users@swift.org
<javascript:_e(%7B%7D,'cvml','swift-users@swift.org');>
https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
<javascript:_e(%7B%7D,'cvml','swift-users@swift.org');>
https://lists.swift.org/mailman/listinfo/swift-users