It lives!

Did something cool last night. I need to document it before I forget how to do it again. This is incomplete and I am pasting it here to check out stuff before moving it into the (currently not open) articles area. Move along now, I am just using this space as a scratchpad.

Building FEAP using the Intel Fortran Compiler on Windows
v 0.0 (The “it’s up, but barely” release.) © 2003 – Me

(Non) Standard disclaimer: The code itself not free software. I am not releasing code, just instructions on key modifications to certain files to get it to build on a different compiler in a different platform. I don’t think this is horribly evil, or more importantly, illegal. If it is, please let me know, and I will remove this content. Also, the content is not guaranteed to be complete or correct. Use this information at your own risk and all that. The changes themselves are currently quite preliminary. The list will be slowly modified and corrected as I learn more. However, if you note some gross errors, let me know. I will fix it.

After getting FEAP up and running on GNU/Linux with gcc/g77 and icc/ifc, and combinations of the compilers (with different levels of optimization), I was in danger of actually using the code to get some useful work done. Then it dawned on me that I had a whole new untried OS to repeat this shenanigans. I am justifying all of this to myself as, “I really haven’t begun to use it productively yet, why not try and find the fastest/easiest set of tools to work with before I really do.”

Actually, I think this mentality has something to do with it.

Also this should be more “fun”, since code had to be hacked to make it “happy” to be in a different environment, and makeable with a different tool chain. I am happy to say, after 14 or so straight hours of mucking around with Fortran graphics code and hacking intel header files, it now lives. Probably not entirely happy, but lives none the less.

I decided to document my steps in order that brave souls attempting this in the future (me included) will find the road a little easier. I begin with a standard, totally unmodded source set, version 7.4 in my case. I don’t believe that it will be horribly different for other versions,but I haven’t tried it, yet. The same goes for FEAPpv.

My “build chain” includes Visual Studio .NET (not entirely necessary, but does make life easier at times, and a lot harder at others.), and the Intel Fortran compiler. The first I got free from the uni, since apparently they’ve made some sort of pact with the devil. The Intel Fortran compiler for windows, ifl from now on, I downloaded for “free” from here. Yes, it is “free” only for a month. And I plan to pay the 30$ if the performance gains are impressive enough. This was a major motiviation for this work too. If the gains from Compaq Visual Fortran are as extreme as the g77 to ifc jump, it should be totally worth it. More on that later.

First, I have to say, apart from the inherent evilness of being non-free, ifl is an insanely cool piece of software. It also has the best documentation I have ever seen for software, ever. Download it, and install it. This involves some registration key and things, which annoy but need to be done. The cool thing here is that it “integrates” with Visual Studio .NET, VSN, for short. By integrating, I mean it now shows a little Intel logo on the splash screen, and more importantly, new projects now can be in Fortran (of different types), apart from the usual C++, C# and what not projects.

Unzip your FEAP source to some convenient location, (eg: C:\Work\FEAP) a place I will be calling $FEAPHOME. So, the source itself exists in different folders in $FEAPHOME/ver74 . Read readme.compaq in $FEAPHOME. It is very useful, though the steps have to be changed to get it working with ifl. The basic idea is the same, the source has to be built in groups that form different libraries, which are all finally linked together to form the FEAP executable.

The libraries specified in readme.compaq are as logical as any other I could think of, so we’ll use something similar. viz. program.lib, element.lib, plot.lib, contact.lib and windows.lib.

(I just randomly use a mix and match of the VSN IDE and the ifl CLI. There’s no need for this, I just switch based on convenience. By which I mean, if you’re comfortable with the ifl CLI, you can hack the source with notepad or whatever and get it to build without requiring the gargantuan VSN installed. I had it anyway, so I used it. Plus, I was very impressed initially with how well ifl integrated with it, and had this intense urge to check it out.)

Open VSN and create a new “Fortran static library” project called “program”.

(The steps I’ve outlined here are just that, an outline. If you need details on how these different steps are carried out, I suggest you read $FEAPHOME/readme.compaq.)

/* Insert actual list of steps and changes here. */

Further articles in this vein involve different optimization levels, replacing the default solver with SuperLU and getting it to build parallely with SuperLU_MT. Now on to optimization changes. Conservative choices, BAH!

I am not dead

I am alive. Last “weekend” was pretty hectic with all the working as a labourer (among other things) for the symposium. (It’s not like I didn’t update the blog JUST so that the previous post stayed on top harnessing the many comments that it did. Thank you, one and all.) It went off pretty well, except that I realized how little respect is given to a session chair’s word on the time alloted for a talk.

Midway during talks, I have to “hint” to the participant that (s)he’s WAAY over the alloted time. They stop, acknowledge that they realize this, AND THEN GO ON FOR 10 MORE minutes.

Anyway, apart from that, all was fun. Tons of free food and looted enough stationery to last for a loong time.

And got to meet all these people I had corresponded via email all this time :). That was fun. Complete with all the “Thanks for being so nice about this”isms, with regards to they being late with everything – abstracts and all. Hey, I am as lazy busy as they come. I know how much I love it when people bend deadlines for me. More than happy to repay a favour.

This was caused due to classics like: It is fine. Vacations are more fun and moving’s more important at the moment. If you can, please do try to get it in by tomorrow, which is the 26th. If it’s still not possible, I will use the short one.

The pictures taken by some Joe on the department’s camera are insanely horrid. I think we have to recommend a change. Right now, I’ve been sent the pathetic set and been asked to put it up. It’s going to take a long time, to doctor them to some state of presentability. I need to find out what the procedure is to get a department that spends OVER 22 MILLION DOLLARS a year on research to buy a camera that can actually take a picture.

That apart, I’ve been feeling very old lately. I think it comes with being unable to associate with any “music” that’s being played on TV. I’ve really really tried. There used to be a point of time, not too long ago, I could really listen to some stuff that was on. For the past week, all I’ve been doing is switching between the 83 music channels realizing my tastes, and I, are too old for them.

Forget hip hop and rap and so on, even in the more standard listenable genres like rock, I can’t stand anything. An ENTIRE top 40 countdown, and the only one I don’t change the channel within 10s is this song called Stacy’s mom. And trust me, that has NOTHING to do with the song. Strangely, there was this one “afro-american” (I guess my catch-all term for R&B, Rap – {Eminem}, hip hop etc) song that I like, called “Where’s the love”, by “Black eyed peas”. Believe it or not, it’s for the lyrics.

Back to work. I’m presenting in another real conference next week. This is close to the MIT talk, so it should be fine. Should be.

Evidently warped

And so, this is me, trallalaa laa, walking down a corridor in GGB. Suddenly, I notice something I hadn’t before.

The Mother's Room

There it was, bang at the newly renovated toilets bathrooms restrooms. There it was, the mother’s room. I was like, cool. As I walk a few metres meters feet to the right, there was the plain ol men’s room.

Just the men's room

Evidently, women can be moms, but guys can’t be dads? Or is it somehow assumed that men won’t change their kid’s diapers or whatever it is that a mother does in a mother’s room? Or mothers are more likely to bring their kids to work than fathers?

Society is so warped. It’s set up so the male gets screwed, and we’re too dumb to see it. We’d rather get stereotyped and just get back to surviving.

Totally unrelated yet related. I remember this extremely funny stand up comic, and she went “I have fertility problems. Yes, I consider being single a fertility problem.”

:D

And speaking of stand up comics, a whole bunch of good ones are coming to the Michigan Theater in a couple of weeks. This just exists to remind me I need to remind me to get tickets. And speaking of things I need to get tickets for, other things I need to see include Thirteen and School of Rock.

Hmm…

Tommorrow’s the Graduate Student Symposium. And I’m beginning to get irritated because for the past 3 days, apart from the usual hard core intellectual assault, I’ve had to deal with working like a labourer in some south east Asia.

Moving stuff around, cleaning stuff, checking stuff etc. No free food, no fanfare, no great recognition, no thank you even.

Volunteering sucks.

MS Outlook sucks even more. One of the participants seems to swear by it, and keeps attempting to send me a SEVENTEEN MEG file which Outlook decides to be smart about and split into smaller files. The trouble is, it splits it in some fancy proprietary fashion only it knows how to rejoin again. And I am not going to install Outlook just to see this person’s file.

ALL I WANTED TO DO WAS UPDATE THEIR SORRY EXCUSE FOR A WEBSITE.

All this stuff has taken time from the really important things in life, like building Half Life 2. Half Life was THE coolest non id made fps I’ve ever ever played. Yes, it made me swear, laugh, cry, think, scream in fear and everything in between. Gordon Freeman, PhD in theoretical physics, M.I.T working for Black Mesa Corp. was one of the coolest characters, ever.

It would have been the coolest, but it wasn’t from id, and I’m horribly biased. Now it’s been freed, but sad.

Decisions decisions

It’s that time of year (couple of months?) again. I really want to buy something. Something useful, something productive… no, just something cool I want.

The iPod looks, feels and plays insanely awesome. It’s even got upto 40 GB of music storage space. The only trouble however, is it only plays MP3‘s. And ALL my music is in Ogg Vorbis.

So if I bought it, it’d mean re-ripping 50 or so CDs again. Sure, there is some cool software to do this, but I’ll just feel unclean again.

But it looks so cool.

Moving along, there’s the quite capable Neuros. It claims to be a digital audio computer. Anyway, the point being, the shots on the site make it look good, and most importantly, it plays Ogg Vorbis. The only thing is that, though the 128 MB thing seems small enough, I think the 20GB one will be quite bulky and unmanageable.

You know, when I am out in the gym or jogging in the cold or something, I need something small and sleek. You know.

For those who missed it, that last line was supposed to wreak of sarcasm.

Then finally, let me introduce the most promising contender, the Nintendo GameCube. Sure, the ads and games make it seem like it’s designed for people younget than me. Sure, old people are expected to go in for an XBox or a PS2.

But it just looks so cute, it’s got the coolest games I’d ever want to play on a console. That’s the thing, while Sony, MS etc seem to focus on games looking good, Nintendo seemed to focus on, almost cuddly, characters who you want to be with?

I mean, the last legend of zelda or mario franchise game I played was when I was 10 or something. Years later, I still want to. And the need is quite strong. Yes, this means my mental faculties probably haven’t developed in all this time. I am a geek, and all those things. But none of that’s important, I would rather have this than any other conole right now.

It’s just, can I be home long enough to play and finish anything? Considering it doesn’t have a hard drive, and uses discs instead of cartridges which can’t be written into.

Decisions, decisions.

Facts

Some things that have dawned on me in the recent past:

Fact: Diet colas suck. No-name brands attempting to cheap-imitate sucky diet colas are suckier.
Fact: There is something about my couch. Every roommate I’ve ever had prefers that couch to their bed. Either that or there’s something about me, or their bed. Or a linear combination of these three.
Fact: A human being can live on 2-4 hours of sleep per day, at least for a period of three days.
Fact: Fruit punch just sounds healthier than Mountain Dew because it’s got the word fruit in it.
Fact: Customizable “number” plates are a cool concept. A person must be pretty devious and confident of her skills to warn you by picking “congirl”.
Fact: A human being can walk at least 30 minutes with his/her feet exposed to an ambient temperature of at least 35.6 F, and not need amputation or any such thing.
Fact: Working with many poorly thought out multi-dimensional arrays across heterogenous code in different languages is a bad thing. It is something to be feared, respected, and avoided.
Fact: A human being can survive on one meal a day, for at least two days.

But most importantly:

Fact: I can hold conversations over hours.
Fact: I do know people who “just get me”, complete my sentences and laugh hard for the stupid things I say.
Fact: Communicating with them is fun, and a lot less work, hence funner.
Fact: I can feel, I can smile, I can feel happy.
Fact: I am happy. I am smiling.

Serendipity

For some reason, as I was googling for something, I typoed and arrived at Ram’s site. Poked around a bit, and a bunch of dead links and empty pages later, I found Srijit’s and ENSAK’s!

And hah, Don. Who’s doing FINANCE! The university “THIRD” ranker. Yeah right people, what he fails to mention is that there were only some 20 odd people DOING THE DAMN course in the whole university at the time. Compare that to the 22000 or whatever getting their undergrads in JUST engineering in my year.

And it increases exponentially with time. Or so people back home tell me. Speaking of people back home, I realized I’ve developed this stupid urge to, at regular intervals, give them random information about my financial situation. I mean, it’s cool to show them they didn’t have to shell out another 14000 for this 4 month term, EACH term. But after some self over analysis, I came to realize it’s not anything to do with feeling proud, showing them some form of achievement so they’ll be happy etc. It’s just, I’m quite busy and all that, and spend very little time communicating with them. When I am free, I’d rather relax and do something else. Something NOT INVOLVING COMMUNICATION. And after long periods (where long = 5’s of days) of detachment, I think I feel.. guilty? And showing them these things, I guess is a crude way of going, see, I am not free. I do work, and that pays for all of this. In a “now I’m totally justified in not talking to them” sort of way? I don’t know. It’s just, I’m beginning to think deep down it’s got something to do with this.

And returning from that (not exactly) little detour to todays’ wonder of wonders, I was always quite curious as to what happened to these people. (Not care, curious). I mean, once they left college, no one (read me) bothered to keep in touch or find out where they were. Therefore in a bit, they became this mythical figures doing their thing in some godly places.

Little did we (I) know. The gazillion rumours floating around were all wrong. It’s like when Raj hesitantly asked me whether I was in Bangalore or here. Totally tangent again, I’m happy he’s there and not Alaska or some such waste of time.

I mean, know one “really” knows when you leave college. And people just assume whatever. Of course, you could stay in touch and all that and know for sure.

But that’s too much work.

And the gedit build on my box is the most buggiest piece of software in the history of time. I lost this post three times before I had to switch to good old Emacs.