| ||||||
| 2008/5/2-5 [Uncategorized] UID:49873 Activity:nil |
5/1 My professor mentioned the frobenius norm in class, but it it sounded
like 'pro-penis norm.' Took me forever to figure out what he was
trying to say.
\_ Stop day-dreaming about your boyfriend, bro. |
| 2008/5/2-8 [Computer/SW/Compilers] UID:49874 Activity:low |
5/2 How do I get the L1/L2 cache size and cache line size on my machine?
Can I find this stuff out at compile time somehow?
\_ You aren't planning on running your code on any other processors?
\_ May I ask what it is you want to achieve ultimately? If you don't
know your architecture and want to find out dynamically, there are
tools that can peek/poke to give you definitive answers, plus you get
to see the latency of L1/L2/memory and infer a lot of info like
cache associativity. Prof Saavedra has done a lot of cache benchmarks
and micro measurements. -kchang
tools that can peek/poke to give you definitive answers, plus you
get to see the latency of L1/L2/memory and infer a lot of info like
cache associativity. Prof Saavedra has done a lot of cache
benchmarks and micro measurements. -kchang
http://citeseer.ist.psu.edu/saavedra95measuring.html
\_ No, there isn't a simple way, compile time or not. Your common
user oriented desktop compiler today doesn't know anything
about L1/L2 besides knowing how to do proper register allocation
and in most cases don't even do a good job of spilling, knowing
about cache effects, etc. Now, there is a lot of research in
the past 20 years where compilers for specialized applications
will optimize vector computing, tight loops, unrolling based
on known monotonicity of variables, specialization, and allocate
memory access patterns all based on memory locality (L1/L2),
but you're not going to get that type of optimization from
gcc or M$ compiler.
the past 20 years where compilers will optimize vector computing
and allocate memory access patterns based on L1/L2, but you're
not going to get that from gcc or M$ compiler.
\_ That's unfortunate. Is there some program I can run to find
out? /proc/cpuinfo tells me, "cache size : 4096 KB", but doesn't
give L1, or line size. Is that just the data cache?
(This is an Intel Core2 )
\_ What the hell does "at compile time" mean?
\_ I mean, perhaps there is some built in constant I can use
that gives the L2 cache size of the machine you're compiling on.
\_ You mean for a POSIX C++ compiler? Also do you not expect
your code to be run on any other machine?
\_ Nope, this is purely an optimization test for 1 machine.
I guess if there's a way to find out the sizes dynamically
that's ok too.
\_ What I'm saying is that "compile time" doesn't mean
shit. Compile time + what language/compiler you are
using might mean something.
\_ Language: C, C++, or Fortran. Not picky
Compiler: gnu, intel, or portland. Not picky.
OS: Linux.
\_ If it's just for one machine, why don't you just look
up the specs at Intel or AMD's website?
\_ I think I'd have to know more about the CPU than I
do. Also, it would be nice to be able to recompile
it on other machines for comparison.
\_ Then you probably want to look into a CPUID
utilities (or roll your own simple version if
you just want simple cache info), along with
preprocessing of some sort. However, cache size
and line size are spelled out pretty clearly in
specs, so you don't have to know all that much.
\_ Someone considerately overwrote my post here,
so to recap, look into a cpuid utility +
preprocessing. |
| 2008/5/2-8 [Computer/SW/Languages/Java] UID:49875 Activity:nil |
5/2 I'm out of school. What's the best link to self learn stuff like
k-means, clustering with gaussian mixtures, gaussian bayes,
EXPECTATION MAXIMALIZATION, EM convergence, inference engine,
classifier, desnity estimator, regressor, etc?
\_ Start with wikipedia, follow links.
\_ Uh, no. This is not the kind of stuff you can learn
from wikipedia.
\_ Take the first item. K-means. It described the basics
and had pretty informative links to outside sites. Some
of those links have references to books to read/other places
to look. Wikipedia is not a place to learn, but it's a
damn good place to start, esepecially for computer stuff.
The real answer is "find a highly recommended textbook,
buy it and read it." but you were clear about wanting
an online resource.
\_ Go back to school and take a course or two. If you are going
to put in the work you may as well get credit for it. Also,
the structure and ability to ask for help are plusses.
\_ What good is a course credit or two to someone who already has
a long and successful career? He wants to learn a few specific
topics. He should buy a book or find an online tutorial and
read the parts that matter to him. He may (or may not) stumble
into other interesting things that would've been covered in a
class and without the hassle of class.
\_ Many Master's programs are only about 8 classes so 2
classes and you are already 25% of the way there. I know
lots of people with PhDs even who went back for an MS or
even more than one MS. Like I said, if you're going to
put in the work you may as well get the credit. Put
another way: Why *not* take classes? What's the advantage
to avoiding class other than cost, which may not be an
issue if work pays for it?
\_ Because learning a few specifics from a book/article is
a hell of a lot less effort than taking a class, doing
homework, being there at specific hours several days a
week, kissing some instructor's ass for the "A", paying
fees (poss. covered by work as you noted), having your
learning slowed down by the inevitable time wasting
morons in class, etc, etc. If he wants to learn entirely
new branches of knowledge then sure take a class, but that
isn't what OP appears to be looking for. I wouldn't
suggest someone take all of Math 1B if they only wanted
to learn Taylor's Series which can be learned in a few
hours at worst. Some people are addicted to school, that's
fine, gather up all the dgrees on the planet if that's
your thing, other people just want to get work done.
\_ I've learnt a hell of a lot post school without going back.
Having a degree means you should know how to learn. (Unless
your problem is a lack of discipline.)
\_ I didn't say you couldn't learn that way. I just don't
think it's the best way. Who do you ask for help when you
get stuck? Without exams how do you know that you really
"get it" or just think you do? Who helps you separate the
wheat from the chaff? I think every engineer or
programmer does a lot of self-learning. That's almost a
requirement. However, "knowing how to learn" isn't really
the issue here. |
| 2008/5/2-8 [Politics/Foreign/Asia/China] UID:49876 Activity:nil |
5/2 Does anyone know how to use the "Chinese (Hong Kong S.A.R.)" input
method in XP? When I select it, all I get are English characters. I
can't figure out how to bring up Chinese characters. OTOH the
"Chinese (Taiwan)" works fine on the same machine. Thanks. |
| 2008/5/2-5 [Computer/SW/Database] UID:49877 Activity:nil |
5/2 SUNW (Sun Microsystems) buys MySql:
http://www.mysql.com/news-and-events/sun-to-acquire-mysql.html
\_ Umm, okay. Do you have a point to make? Did you notice the date
on this is Jan. 16? |
| 2008/5/2-8 [Recreation/Food] UID:49878 Activity:nil |
5/2 Americana at Brand Opens in Glendale! Hooray! -dimwit #1 fan
http://ktla.trb.com/news/local/ktla-americana-brand,0,982049.story |