<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class="">Hi Vicky,</div><div class=""><br class=""></div><div class="">see my responses inline.<br class=""><br class="">– Lukas</div><div class=""><br class=""></div><blockquote type="cite" class="">On 18 Mar 2016, at 12:12, Graymalk Meow via swift-users <<a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a>> wrote:</blockquote></div><div class=""><br class=""></div><blockquote type="cite" class="">Hi,<div class=""><br class=""></div><div class="">Two things. </div><div class=""><br class=""></div><div class="">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: <a href="http://swift-lang.org" class="">swift-lang.org</a></div><div class="">Is this the same language? If it isn't then there is a real naming problem here. </div></blockquote><a href="http://swift-lang.org" class="">swift-lang.org</a> is, in fact, the homepage of two different languages designed to write MPI applications, the newer one being “Swift/T”.<br class=""><br class=""><blockquote type="cite" class="">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.</blockquote><div class="">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).</div><br class=""><blockquote type="cite" class="">And by relatively easily, I mean... If I can use it with OpenMPI,</blockquote>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.<div class=""><br class=""><blockquote type="cite" class=""> OpenMP,</blockquote><div class="">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.</div><br class=""><blockquote type="cite" class="">or OpenCL (using CUDA or, if I just run it on my Mac, then OpenGL, but the clusters have CUDA)</blockquote><div class="">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.</div><br class=""><blockquote type="cite" class="">AND if I can at least compile for different platforms (CentOS Linux and Raspbian Linux)</blockquote><div class="">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.</div><br class=""><blockquote type="cite" class=""> 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.</blockquote><div class="">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.</div><br class=""><blockquote type="cite" class=""><div class="">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.</div><div class=""><br class=""></div><div class="">2. For fun: <a href="http://mobile.eweek.com/developer/javascript-most-popular-language-stack-overflow-report.html" class="">http://mobile.eweek.com/developer/javascript-most-popular-language-stack-overflow-report.html</a></div><div class=""><br class=""></div><div class="">"<font size="2" class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">Meanwhile, the use of the <a href="https://swift.org/" class="">Swift</a> programming language is exploding, the survey showed. Swift grew faster than any other technology last year, the survey showed."</span></font></div></blockquote><blockquote type="cite" class="">_______________________________________________<br class="">swift-users mailing list<br class=""><a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a><br class=""><a href="https://lists.swift.org/mailman/listinfo/swift-users" class="">https://lists.swift.org/mailman/listinfo/swift-users</a></blockquote></div></body></html>