Skip to main content
13 events
when toggle format what by license comment
Mar 23, 2012 at 18:29 comment added Pedro Not quite, Fortran stores two-dimensional data in column-major format, but in C everything is linear. Row/Column-major is a design decision and I see that in your code, if i is the row and j is the column, that you are actually using column-major ordering.
Mar 23, 2012 at 18:19 comment added Inquest isn't row-major correct in C and column major in FORTRAN?
Mar 23, 2012 at 16:46 comment added Pedro @Nunoxic, is there any particular reason why you're using row-major ordering? Many of these routines may be optimized for column-major. Apart from that, I'd say that your problem is bandwidth limited and thus there is no hope for more improvement (see Wolfgang's reply).
Mar 23, 2012 at 16:43 comment added Inquest Thanks ! 2 gives the best performance among 2,3,4. However, the speedup is still 1.1. Any way I can increase this number?
Mar 23, 2012 at 15:51 history edited Pedro CC BY-SA 3.0
Added an update following the discussion in the comments.
Mar 23, 2012 at 15:33 comment added Inquest I've pasted /proc/cpuinfo here
Mar 23, 2012 at 15:29 comment added Pedro @Nunoxic, if you're on a linux machine, do more /proc/cpuinfo and look at the "core id" entry. Or google whatever is in the "model name" entry. I don't think there are any genuine 4-core Core i3 CPUs out there though...
Mar 23, 2012 at 15:14 comment added Inquest How do I find that out? I havev included my KMP_AFFINITY in the main.
Mar 23, 2012 at 15:12 comment added Pedro Just out of curiosity again, what do you get for two or three cores? Does your machine actually have four physical cores, or just two cores with hyperthreading?
Mar 23, 2012 at 14:59 comment added Inquest Yes. The CPU histogram shows 1 core.
Mar 23, 2012 at 14:11 comment added Pedro Ok, and for the scaling, are you sure that in your baseline case, the code is only running on a single CPU? E.g. if you benchmark it, does the CPU usage histogram show only a single core?
Mar 23, 2012 at 10:15 comment added Inquest I've tried ATLAs, GoTo and Netlib BLAS. All are weaker than MKL in performance. Is this expected or am I doing something wrong? I compiled ATLAS as mentioned in the handbook. Further, I have pasted my (exact) code here. Its calling MKL's BLAS.
Mar 22, 2012 at 22:04 history answered Pedro CC BY-SA 3.0