Re: Julia language

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Nov 19, 2017 at 09:30:54AM +0900, Akira Yokosawa wrote:
> On 2017/11/19 4:19, Paul E. McKenney wrote:
> > On Fri, Nov 17, 2017 at 12:43:19AM +0900, Akira Yokosawa wrote:
> >> Hi Paul,
> >>
> >> Have you heard of "Julia" language?
> >>
> >> JFYI,
> >> As can be seen in its official page at https://julialang.org/ and a Wikipedia
> >> article at https://en.wikipedia.org/wiki/Julia_(programming_language),
> >> it looks like one of promising answers to perfbook's Section 2.2 "Parallel
> >> Programming Goals".
> >>
> >> As long as high-performance number crunching is concerned, it claims to have
> >> comparable performance to C, with a programming productivity much better
> >> than C + MPI.
> >>
> >> Note: I'm not a user of the language at the moment. I just heard of it at
> >> a twitter hashtag #julialang.
> >>
> >> I'd like you to check it up and (hopefully) update the above mentioned
> >> section in perfbook.
> > 
> > I had heard of it, but I had not heard of it being seriously proposed
> > as the answer to Section 2.2.  I have added it to todo.txt with your
> > Reported-by.
> > 
> > Have you or has someone you know used this for a large parallel-programming
> > project?  (Just looking for some real-world confirmation.)
> 
> So you want a secondary-source info on the real-world use?
> 
> I learned of Julia from Gen Kuroki's twitter activity since this June.
> He is a mathematician at Tohoku Univiersity, and experimenting/demonstrating
> Monte Carlo analysis of several statistic problems using Julia (on a Windows PC!).
> But what he is doing right now doesn't qualify as a _large_ parallel-programming
> project.
> 
> There is a case-studies page at https://juliacomputing.com/case-studies/,
> but this should be regarded as a primary source.
> 
> One of the case study, "Deep Learning for Medical Diagnosis" at
> https://juliacomputing.com/case-studies/ibm.html, looks like a collaboration
> of IBM and Juliacomputing.
> 
> Could this qualify as a real-world large parallel programming example?

Maybe...  Some evaluation and a proposal at the end...

But please understand that 40+ years working in this field has made me
deeply skeptical of sweeping claims for new languages.  Now, don't get
me wrong, Julia might well be great stuff that deserves mention in the
book, but let's first take a quick look at history.

Let's start with my employer, IBM.  This URL is informative:

http://www.softwarepreservation.org/projects/FORTRAN/BackusEtAl-Preliminary%20Report-1954.pdf

This is a 1954 report on the specifications for FORTRAN, reportedly
co-authored by none other than John Backus.  Please see page 3, first
full paragraph:

	Since FORTRAN should virtually eliminate coding and debugging,
	it should be possible to solve problems for less than half the
	cost that would be required without such a system.

To be fair, they were comparing coding in FORTRAN to coding in IBM 704
assembly language, but still, my use of FORTRAN in the 1970s involved
-significant- coding and debugging.  ;-)

Julia's case-studies page is impressive, but at first glance it appears
to mostly be centered on HPC, which leads me to question the "generality"
part of the iron triangle of parallel programming.  Gen Kuroki's use
case seems to be in a similar area.

So what to do?

For the upcoming release, nothing.  After all, it is only a few days away.

But perhaps later it might be good to expand Section 17.4 ("Functional
Programming for Parallelism") to cover languages instead of just
functional programming.  Julia might fit in here, as might Rust (given
the ownership aspects of its type system), Go (another popular parallel
system), and maybe even Python (because everyone and their dog seems
to use it).

Does that seem reasonable?

							Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe perfbook" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux