Reputation
17,509
Next privilege 20,000 Rep.
Access 'trusted user' tools
Badges
3 65 112
Newest
 Necromancer
Impact
~130k people reached

13h
comment What would you ask Mathematica to do on a big system?
Well, yes and no. Undoubtedly MPI libraries do take advantage of libraries like hwloc and limic2 to accomplish what one cannot easily do otherwise. But good performance is possible even without them, and process management is an MPI-2/3 addition, while many programs still only require MPI-1 functionality. The fundamental difference between MPI and MathLink, as I see it, is that MPI libraries do their utmost to minimize latency, contention, and per-communicator resource consumption. By the way, I believe that on Windows memory-mapped I/O is done through the pagefile, not separate files.
1d
comment weird behaviour of Listable fortran Librarylink function: different result each evaluation
The /fast switch for Intel Fortran applies very extreme optimizations that can result in miscompilation of programs. It also does not guarantee better performance, so I would generally consider the use of this switch somewhat experimental, as it may not work properly or be effective in different cases. GCC does not do this in the same way, even with -Ofast. Could you try /O1 instead and see if the problem remains?
Feb
4
comment LibraryLink: proper use with Visual Studio compiler
I'm voting to close this question as off-topic because it appears that Mathematica is doing basically as it should in this case. Any differences versus other callers of the same compiler seem to be minor details that can easily be adjusted as part of the CreateLibrary call. That one environment differs slightly from another is only to be expected.
Feb
4
comment What would you ask Mathematica to do on a big system?
Your remarks on MathLink are interesting. However, I can't help thinking that doing some embarrassingly parallel problem is not a meaningful test, either of Mathematica or of a large single-image system. Fast communication among processors is the only reason one would use such a system rather than a cluster, and one pays through the nose for this capability. If I were interested in stressing the hardware, I would not do it using Mathematica. That's why I interpreted this question as asking about how to test Mathematica on this system, rather than the system itself.
Feb
2
comment How to implement JoinTo efficiently?
@M.R. Yes, of course. Well, it has lists, and you can link them, so that's sufficient. See for example (25474)
Feb
2
comment How to implement JoinTo efficiently?
Consider using a linked list and then flattening. You may either do this explicitly at the top level, or else use Internal`Bag and friends. The latter are employed by Sow and Reap. By the way, it would be helpful if you could state clearly in what respects you would like your idea to be improved upon.
Feb
2
comment How does Mathematica detect the number of cores in a system?
HPC is a prestige application, but it is not particularly profitable. Ordinary servers are usually running integer applications and do not place much importance on floating-point or vector performance. Vector units and instruction decoders take up a large amount of the power and area budget, so AMD has chosen to make these shared resources in order to have more integer cores on the same chip, and thus sell it competitively into the commodity server market. They also are not able to match Intel's clock speeds, so adding more execution resources to the chip is their only hope for performance.
Feb
2
comment How does Mathematica detect the number of cores in a system?
Please see the comment below Mark Adler's post for my interpretation of the cores issue. As for the dead kernels, I think it might be a licensing limitation. How many subkernel licences do you have?
Feb
2
comment How does Mathematica detect the number of cores in a system?
It is not quite true that a "module" is one "physical core". But nor is it two "physical cores". The vector unit is shared between two cores in a module, as is the instruction fetch/decoder. The ALUs are separate. In an Intel chip, the two threads running on a physical core share all execution resources (everything except registers and some caches), but with AMD, the situation is more complex. This makes it hard to determine whether a module should be considered one core or two--it depends on the application. As far as Mathematica goes, it depends what you are doing with it.
Feb
2
awarded  Necromancer
Jan
30
comment Construct all possible sets of pairs
Tuples?
Jan
30
comment Export ListPlot to .eps - line overlays
I have usually found it better to export as PDF and then convert that to EPS afterwards. For some reason the EPS export is often problematic.
Jan
30
comment Slice a mathematica image into sub images along black straight lines?
Another: How to detect crosses and circles in 60x60 raster images?
Jan
30
comment Slice a mathematica image into sub images along black straight lines?
Probable duplicate: Detecting grid lines in a raster image
Jan
30
comment x and y axis nonlinear error fit possible?
This has been asked a number of times already on this site. For example: (13054), (33273), (27101) (there are surely others). Basically, the linear case can be done somewhat straightforwardly, but nonlinear is more difficult mathematically. I suggest you proceed with it as a minimization problem. It has been demonstrated in (24788).
Jan
30
awarded  Yearling
Jan
30
revised What would you ask Mathematica to do on a big system?
added 969 characters in body
Jan
29
comment Rewriting List of Matrix Equation in Terms of Individual Equations?
Equal @@@ Flatten[{M, A}, {{2, 3}, {1}}]
Jan
29
comment Equating matrices (or higher order tensors) element-wise
3 years late, but Transpose[Flatten /@ {mat1, mat2}] is equivalent to Flatten[{mat1, mat2}, {{2, 3}, {1}}]. :)
Jan
29
comment Playing a sound gives errors in Mathematica 10.3
It also applies in version 9. I, for one, would be interested in knowing what Play is doing that causes this weird message. There is nothing undefined in the input that ought to result in a partial compilation. (N.B.: ListPlay also produces it.)