Tuesday, December 21, 2010

Nvidia CUDA Toolkit 3.2 - more Fermi optimizations

The latest Nvidia "Fermi" GPUs (Graphical Processing Units) are available in a wide range of powerful new Nvidia Graphics Cards. If you have been waiting for a good reason to upgrade your graphics card, Nvidia has certainly provided some great reasons to upgrade with their latest CUDA-capable Nvidia cards that are just amazing!

For over a year, I was patiently waiting for the new Fermi architecture to hit the shelves so that I could get the latest CUDA parallel processing power at an incredible performance-per-watt and price-per-performance level. I have been looking forward to writing some parallel-processing-optimized code, and these cards were exactly what I needed. I ended up buying a Quadro 600 to start with, since it has 96 processing cores and only uses 40 watts of power! So far, I have been quite impressed by this card's abilities, quiet operation, and price (well under $200). I can now perform "real time" graphical operations that were impossible before. It is like having a 5 or 10 year old multi-million-dollar supercomputer on my desktop for under $200.

Personal supercomputing for the masses!
Nvidia (NASDAQ:NVDA) has moved to a modern 40nm architecture for these new GPUs, which has allowed them to be much more power-efficient while cranking out tons of graphics horsepower for gaming and/or professional applications that make use of their stream-processors (aka, "CUDA cores") on the graphics card for high-performance computing (HPC) via massively-parallel-processed algorithms.

CUDA is NVIDIA’s parallel computing architecture that enables dramatic increases in computing performance by harnessing the power of the GPU (graphics processing unit) for applications including image and video processing, computational biology and chemistry, fluid dynamics simulation, CT image reconstruction, seismic analysis, ray tracing, and much more.

Get an NVidia Fermi-based Graphics Card
First, get hold of a new Fermi-based Nvidia CUDA Graphics card  to develop and run your new CUDA applications on.

Now you can start putting some new CUDA abilities to work using the latest Nvidia CUDA Toolkit 3.2 release that has some features specific to the new Fermi cards and architecture that you may want to check into...

Nvidia CUDA Toolkit 3.2 Release Highlights

New and Improved CUDA Libraries
  • CUBLAS performance improved 50% to 300% on Fermi architecture GPUs, for matrix multiplication of all datatypes and transpose variations
  • CUFFT performance tuned for radix-3, -5, and -7 transform sizes on Fermi architecture GPUs, now 2x to 10x faster than MKL
  • New CUSPARSE library of GPU-accelerated sparse matrix routines for sparse/sparse and dense/sparse operations delivers 5x to 30x faster performance than MKL
  • New CURAND library of GPU-accelerated random number generation (RNG) routines, supporting Sobol quasi-random and XORWOW pseudo-random routines at 10x to 20x faster than similar routines in MKL
  • H.264 encode/decode libraries now included in the CUDA Toolkit

CUDA Driver & CUDA C Runtime
  • Support for new 6GB Quadro and Tesla products 
  • New support for enabling high performance Tesla Compute Cluster (TCC) mode on Tesla GPUs in Windows desktop workstations

Development Tools

  • Multi-GPU debugging support for both cuda-gdb and Parallel Nsight 
  • Expanded cuda-memcheck support for all Fermi architecture GPUs 
  • NVCC support for Intel C Compiler (ICC) v11.1 on 64-bit Linux distros 
  • Support for debugging GPUs with more than 4GB device memory 

  • Support for memory management using malloc() and free() in CUDA C compute kernels 
  • New NVIDIA System Management Interface (nvidia-smi) support for reporting % GPU busy, and several GPU performance counters

New GPU Computing SDK Code Samples
  • Several code samples demonstrating how to use the new CURAND library, including MonteCarloCURAND, EstimatePiInlineP, EstimatePiInlineQ, EstimatePiP, EstimatePiQ, SingleAsianOptionP, and randomFog 
  • Conjugate Gradient Solver, demonstrating the use of CUBLAS and CUSPARSE in the same application 
  • Function Pointers, a sample that shows how to use function pointers to implement the Sobel Edge Detection filter for 8-bit monochrome images 
  • Interval Computing, demonstrating the use of interval arithmetic operators using C++ templates and recursion 
  • Simple Printf, demonstrating best practices for using both printf and cuprintf in compute kernels 
  • Bilateral Filter, an edge-preserving non-linear smoothing filter for image recovery and denoising implemented in CUDA C with OpenGL rendering 
  • SLI with Direct3D Texture, a simple example demonstrating the use of SLI and Direct3D interoperability with CUDA C 
  • cudaEncode, showing how to use the NVIDIA H.264 Encoding Library using YUV frames as input 
  • Vflocking Direct3D/CUDA, which simulates and visualizes the flocking behavior of birds in flight 
  • simpleSurfaceWrite, demonstrating how CUDA kernels can write to 2D surfaces on Fermi GPUs

    Financial Opportunities :
    Nvidia (NASDAQ:NVDA) stock?

    Since this blog also focuses on stock-market and investing opportunities, I have to point out that in my August 13th, 2010 blog entry about Nvidia Toolkit 3.1 news, I contemplated whether the new Nvidia Fermi cards were going to drive substantial sales/revenue-gains and associated profit-gains for Nvidia corporation.

    When I wrote that blog entry in August, Nvidia stock was $9.39, and today it is $14.77 as I write this article. If you jumped in on this one, you have already made 57% in a mere 4 months! (update: May-2011; NVDA at $19.00+) The current trend-lines on the stock look good, as it is staying ahead of its moving-average trend-lines on a technical basis, so it may well have some decent upside remaining. Plus, we are rather early in the Fermi-chip-based GPU series from Nvidia. 50+% return on your NVDA stock may have you wanting to take some profits. The choice is yours... this stock has a long-history of being rather volatile, and it will likely have some up/down cycles during its future. I plan to maintain at least some of my position in NVDA as I still think they have the technology to beat when it comes to GPU-computing and supercomputing. Intel's "Sandy Bridge" products coming out in Q1-2011 may have a slight impact on Nvidia (since the new Intel CPUs will include an integrated and allegedly rather capable GPU onboard, which will perhaps suffice for mainstream users).

    WHO is going to use these cards?
    The thing that I see happening with these discrete graphics cards like the Fermi-based CUDA-capable Nvidia cards is simple: if you are a business and you want to compete, you best learn how to leverage the power of these cards. Period.

    Wall Street already knows this (and, I do not mean in the price of NVDA stock),... they are using this technology to perform lightning-fast calculations for algorithmic trading, options pricing, and much more. ANY application that can be significantly enhanced (i.e., made faster and more robust) through parallel processing will be made so by the companies that are leading in any field. They WILL use these GPUs from Nvidia to accomplish that feat.

    I am not investing in Nvidia for the fact that home "gamers" and the like enjoy their super-potent "GeForce" cards... I am in this because businesses are going to use TONS of these cards/GPUs in their "desktop supercomputers" for analyzing all sorts of things throughout their domain. Mark my words: companies that miss this opportunity (to leverage CUDA and parallel processing) are going to find themselves looking like Blockbuster as compared to Netflix now.

    The margins on Nvidia's "Quadro" business-oriented line of cards is likely higher than that on the consumer "GeForce" line, and certainly their Tesla dedicated supercomputing-desktop devices are going to be money makers as businesses figure out how to use these (i.e., find talented developers to help them write some seriously cool parallel-enabled algorithms and applications software). This may take a while yet, but I would say that within 3-5 years, MOST serious business applications will make some use of CUDA and/or GPUs for heavy analytical processing.

    Bottom line: NVIDIA HAS SOME AWESOME GRAPHICS CARDS TO CONSIDER, and some nicely updated tools to go with them!

    Monday, December 20, 2010

    Microsoft Certification Tests : Cheap Price Overseas, but not in USA!

    I was just researching the cost of taking a Microsoft Certification course for SQL-Server database development, and I was poking around the Prometric web site when I stumbled upon the fact that there are price-differences between what technology professionals in the USA must pay for the exact same Microsoft certification test that a resident of India or China can take (note: they get it for much less)! I found this VERY concerning, Microsoft! In fact, it really has me re-thinking the whole certification thing in general.
    Perhaps I am just in a serious anti-import and anti-outsource mood after watching a PBS program about the collage of the U.S. furniture industry and manufacturing in general (whacked by cheap imports), and the gloomy unemployment picture in the USA, all while we see imports rising, outsourcing rising, and everything generally stacked against the US worker these days.

    How are we Americans supposed to "compete" on a level playing field when our own USA corporations - in this case Microsoft, with Prometric as their co-conspirator - increase the cost-basis of our own education/certification as compared to our foreign "competition"?

    In the case of cheap Microsoft MS certification (for those in foreign countries like China and India), I can not help thinking that this is a direct assault upon the same American workers that helped Microsoft achieve their corporate software dominance during the past couple decades. We get "certified" and help sell and implement solutions that use Microsoft software, but yet we have to pay more for the privileged of being a USA Microsoft Certified developer than our foreign counterparts that compete for our jobs with global-outsourcing gigs and the like. Lovely.

    More details: cheap MS Certification test prices (if you live in the right country)...

    So, Microsoft makes it cheaper for residents of foreign countries to get Certified in MS products than USA citizens, so as to further enable them to have an advantage over USA labor. I.e., reduce their total costs for achieving the same (certified) status and make it even easier to under-cut onshore (USA) IT talent.

    Microsoft uses a company called ProMetric to administer their MS technolgy-certification tests *worldwide*. And, you can access their website and choose what country you are in and the see the rates (in US Dollars) for testing in each country.

    For my own price-comparison, I looked at the cost of Microsoft Certification Exam 70-433: TS: Microsoft SQL Server 2008, Database Development...

    LOWER EXAM PRICES OVERSEASHere is the summary of Exam fees / price charged by country for the SAME TESTING (with all pricing being in US Dollars):
    • USA: $125 
    • India: $50 
    • China: $50
    And, as this quoted information from Prometric's web-site makes clear, you have to love how you (as a USA citizen) can not even get the advantage of lower rates by testing in a foreign country while traveling, should you ever have such occasion to do so:
    "In order to sit for a Microsoft Certification exam at a Prometric testing center in India, China, or Pakistan, candidates must be a legitimate resident of that country. If Candidates ARE a legitimate resident of that country, note the following: 
    Effective September 15, 2010, Prometric testing centers in these three countries are required to confirm and record that each Microsoft Certification candidate has shown documented proof that they are a legitimate resident of that specific country. To verify country of residence status, each candidate is required to bring two valid and officially recognized forms of identification (ID)—one with a photo and an official residence address, and both with a signature. Students in Pakistan may use Student IDs as an official form of identification. 
    NOTE: Non-eligible candidates will be turned away at the testing center if the candidate is unable to show proof of residency."
    YOU MUST BE JOKING, Microsoft!
    That "residency" requirement says it all... there is no chance of arguing that somehow the price-difference with the testing has to do with "costs" of administering the test in each country (like, perhaps, lower office-space costs, or similar)
    , since if that was the case, you would let ANYONE take the test in the foreign country and realize the lower-cost/overhead advantages by way of a lower total test-price to the individual taking the test. This is all about fleecing the American worker in a way quite similar to how American drug-makers sell their drugs to foreign governments cheaper than they will sell drugs to American citizens.... really, how is this any different Microsoft?

    I (semi) understand the argument for discounting software in such countries as China, India, and other "developing" countries (since they notoriously just STEAL the software otherwise and pay little to no regard to Intellectual-Property law), but WHY discount an electronically-administered TEST there for certification-achievement?

    The only potential argument I can come up with how to "justify" the low-price MS Certification tests in these foreign countries (from a MS standpoint), is to perhaps rationalize that: if you, Microsoft - Nasdaq:MSFT, have your pool of "MS certified" technical people in each country, those same countries are likely to use more of your software,...but, the more I think about that argument, the more I would have to respond "Microsoft, you must be joking!"
    In the mean time, we software developers, programmers, database administrators, and related Microsoft technologists, are stuck essentially subsidizing the very same overseas information technologists that are going to try their hardest to outsource OUR jobs as we continue to import all THEIR goods and services -- the same goods and services made even more price-competitive thanks to Microsoft/Prometric giving our competition a discount on the same certification test that we need to take to maintain our IT credentials and supposedly stay "competitive"!

    This is just another sick example of an economy that is rigged against us. Thank you Microsoft! (NOT)

    Thursday, December 16, 2010

    Education vs. Income : China proves Bernanke wrong

    If you find the current economic situation in America disheartening, and you want to understand "why" things are the way the are with regards to high unemployment and the massive disparity in wealth between the upper few and the rest, do not listen to Federal Reserve chairman Ben Bernanke: he is out of touch with reality! He may be a very smart guy, but he seems to be missing some blatant truths about what is going on at a macro-level in the USA and worldwide.

    One of Bernanke's favorite "reasons" for the ills of this economy is: education. I watched him on a TV interview last week where he cited educational differences as one of the core determining factors between the have and have-not groups. I personally beg to differ Mr. Bernanke, and a morning story on CCTV (China Central Television) backed my position completely...

    When it comes to Education vs. Income, it is just what I keep saying: a standard supply/demand curve sets salaries and earnings; that is all, nothing more. Education used to place you in a supply-constrained-group; not anymore.

    China proves Bernanke wrong...China just proved it. The college-educated Chinese citizens were, just a couple years ago, on average making 4 times what the blue-collar factory workers were making in China. But, China is now experiencing an abundance of persons with degrees in accounting, engineering, technology, etc... and, those same college-educated persons are now making on average only 2 times the blue collar wages. The CCTV news show discussed how it is purely a matter of supply/demand for both sectors (white/blue-collar) that is forcing this narrowing in wages. 

    China currently has an increased need for "low skill" labor, which has pushed the wages for the low end up while the college-educated job rates slow, stagnate, and decrease relative to the other group.

    OK, Bernanke... how is the USA any different?There is a global glut of educated workers. As such, global wage-equalization is underway.

    Makes you want to run out and get an MBA, doesn't it? NOT.

    This premise that Chairman Bernanke makes, that lack of education is limiting incomes, is simply absurd in today's global economy. Sure, education *helps*, but it will not help beyond the point where supply exceeds demand for any one group of skilled labor - including college-educated labor.

    The fact is, if EVERYONE on the planet had a college degree, and everyone had similar intelligence to back that degree, there would still be a need for "unskilled" labor in factories and in less desirable positions. And, who is going to serve up the Starbucks coffee in the morning... you got it: a college-educated person. And, pay differences are going to emerge like always, with stratification that does not reward education, but rather rewards being lucky enough to get one of the better jobs. 

    There will still be the group on Wall Street that rewards themselves handsomely for doing nothing more than moving money around (electronically) and taking a "cut" and calling themselves brilliant investment bankers, private equity managers, and hedge-fund barons. It will have nothing to do with their education... just their position in society that allows them to siphon off huge amounts of cash from the productivity of everyone else in society.

    Oh, wait... I just described the current economy in America!

    What is REALLY wrong with the economy?
    Bottom line: Bernanke needs to wake up and see the real issues of what is going on with the world economy and why this recession is now a supposed "jobless recovery". It has little to do with education. I, and many other people, know people with exemplary employment records and fantastic education credentials (including advanced degrees) that are unable to get work. 60-Minutes did a story where they featured a large roomful (100s) of the unemployed persons in Silicon Valley that were, predominantly over 40 and when asked what education-levels they had obtained, the majority of hands in the room were raised at "Masters" level and a large percentage were still raised at "doctorate/PhD" level.

    Bernanke: how can we expect you to HELP this economy when you clearly do not understand the macroeconomic forces at play? Or, are you fully aware and just want simple excuses for the underlying mess that will never be addressed?

    That underlying mess I refer to is an economy where:
    • large numbers of college-educated persons can not find employment commensurate with their training or skills; 
    • a *few* at the top of the economic food-chain, or the "top" as they have defined it to be, sit back funneling all the productivity out of this country via their instantaneous intraday flash-trading on Wall Street, whether for the banks they work at or the hedge funds and private equity firms and so forth; 
    • there is "no inflation", but yet the volatile food-and-energy group, and any other thing that one truly *needs*, only goes up in price, and goes up faster than "inflation"; commodity prices are surging worldwide, yet there is "no inflation"... sure!; 
    • there is no way for people to get any return on savings, though we always here how the USA got into this if from "lack of savings". Great, so now anyone who saves can look forward to .1% (yes, a tenth of a percent) or thereabouts on a "savings account" while large banks hit the same people up for 15+% on their credit-card interest rates. That is a 15,000% difference between what "savings" earn and what revolving-debt costs; need I say more? 
    • it is nearly impossible to find ANY USA-MADE ITEMS AT STORES anymore. Period. I search to no avail. How am I to "stimulate the economy" (in the USA) if I can not find a way to spend my money on an item that would employ US workers? It gets worse every day. 
    • Corporate America is moving jobs out of here as fast as they can... whether to dodge environmental code in the USA or to avoid the cost of benefits here or any other potential liability of having workers in the USA, they are rushing to China and other low-cost suppliers because our laws make it easy for them to do so. 
    • IP (Intellectual Property) rights are only enforced when violations affect the largest of the large companies; aside from that, anyone starting a business these days will likely see their work stolen, cloned, or otherwise reproduced within a few months of product-launch, and there will be no repercussions. You will create a new product only to see a cheap Chinese knock-off on the market in no time. So, starting a product/business in the USA becomes even more foolish, and thus jobs do not stay here. 
    • Tax-code that favors the highest-wealth people and our government that is "owned" by those people: I am sick of hearing things like "the uncertainty over taxes is preventing corporations from hiring"... GIVE ME A BREAK. There is no uncertainty! It is certain that, at worst case, taxes will revert to pre-Bush-tax-cut-levels... and, anything else is just a better case. How is a 2yr extension of a tax-cut going to lead to anything beyond another supposed "uncertainty" at the end of THAT 2yr period? Ludicrous argument! 
    • And, we borrow money by the Trillions to pay for the implementation and materialization of the list I just enumerated!

    I could continue enumerating all the (real) issues with the economy, but it will make no difference unless some people with influence start standing up to fix this mess.  And, fixing it is not just extending a tax-cut that favors the top one or two percent of the population.  Fixing it requires some serious change.

    If we do not start creating jobs to provide educated workers with opportunity in-line with their skills, things are only going to get worse.  And, when China is already showing signs of a glut of educated workers, get ready for further wage-pressures here in the USA and even more unemployment among those educated persons that Bernanke seems to think do not exist in large enough quantities already.

    Tuesday, November 30, 2010

    SSN Theft : OK if "not knowingly"; RIAA theft: "not knowing" not valid excuse.

    I began today reading the various news headlines, and I soon encountered an article in particular that made me think: YOU MUST BE JOKING!

    Essentially, courts are ruling that, in some cases, STEALING SOCIAL-SECURITY NUMBERS is "OK".  What the @#??!

    Here is an excerpt from the article that you may find very enlightening:

    "Is using a forged Social Security Number -- but your own name -- to obtain employment or buy a car an identity theft crime? Lately, U.S. courts are saying it's not.
    The most recent judicial body to take on the issue, the Colorado Supreme Court, ruled last month that a man who used his real name but someone else's Social Security number to obtain a car loan was not guilty of "criminal impersonation," overturning convictions by lower courts.
    That follows a ruling last year by the U.S. Supreme Court that a Mexican man who gave a false SSN to get a job at an Illinois steel plant could not be convicted under federal identity theft laws because he did not knowingly use another person's identifying number. The ruling overturned an opinion by a federal appeals court in St. Louis -- and contradicted earlier findings by circuit courts in the Southeast, upper Midwest and the Gulf states."

    So, if you are planning to steal (or, "borrow") another person's SSN#, just make sure you do not "knowingly" do it, and it is suddenly not such a bad crime; or, so says our various courts.

    But, is there any consistency to what our courts are saying with regard to theft these days?
    Read on, and prepare to be sick...

    HYPOCRISY EXEMPLIFIED:The SSN-stealing story made me recall another story from just a day earlier about how The U.S. Supreme Court declined to hear the first Recording Industry Association of America (RIAA) file sharing case to cross its desk: a case that tested the so-called “innocent infringer” defense to copyright infringement.

    Definition Note: an "innocent infringer", with regard to Copyright law, is someone who does not know they are committing copyright infringement.

    Why do I bring this up?  Well, as I see it, this RIAA case (against someone who has supposedly NOT KNOWINGLY broken the law), has an outcome that stands in stark contrast to the outcome for someone stealing (or, supposedly "not knowingly" using) another person's Social Security Number for their benefit.  And, what is the penalty in each case: steal an SSN unknowingly, avoid prosecution.... unknowingly violate laws as you download some songs from the Internet and invoke the wrath of the RIAA, and pay $750 per song as your penalty.

    Am I the only one that sees the sick hypocrisy in all this?
    Here is another excerpt from the article discussing the RIAA court battle I refer to:
    "The case, which one [Supreme Court] justice voted to hear, leaves undisturbed a federal appeals court’s decision in February ordering a university student to pay the Recording Industry Association of America $27,750 for file-sharing 37 songs when she was a high school cheerleader.
    The appeals court decision reversed a Texas federal judge who, after concluding the youngster was an innocent infringer, ordered defendant Whitney Harper to pay just $7,400, or $200 per song. That’s an amount well below the standard $750 fine required under the Copyright Act for each violation.
    A Texas federal judge had granted Harper the innocent-infringer exemption to the Copyright Act’s minimum fine, because the teen claimed she did not know she was violating copyrights. She said she thought file sharing was akin to internet radio streaming.
    The 5th U.S. Circuit Court of Appeals, however, said she was not eligible for such a defense, even though she was between 14 and 16 years old when the infringing activity occurred on LimeWire. The reason, the appeals court concluded, is that the Copyright Act precludes such a defense if the legitimate CDs of the music in question carry copyright notices."
    Wow,... what a pile of #$^*!  This RIAA case and legal conclusion is especially a pile of dung when reviewed in the context of how the "not knowing" defense has been applied to SSN-theft SUCCESSFULLY - proving that SSN numbers are less important than downloaded music, because that is what certain businesses and lobbyists have had decided for us.

    I guess that all I need to do is write a copyright notice on my SSN card that states: "If someone other than I uses this SSN#, they are violating identity-theft laws and in addition they are violating my copyright and owe me $750 in addition to actually damages incurred".  The fact that they never SEE this notice (just as someone without the Music CDs in question in this RIAA case will never SEE the notice), is irrelevant: they have violated my notice, and I can collect, right? (doubtful: I have no recording industry behind me)

    This makes me think: the government should re-print SSN cards now, and include a copyright notice on them, and charge everyone who steals Social Security Numbers a fine for copyright violation (as a form of revenue-raising, since they obviously will not enforce identity-theft laws).

    LEGAL LESSONS LEARNEDSo, what have we learned from this? In summary, we can conclude that: it is OK for ignorance of the law to be a valid legal defense, so long as the ignorance led to a CORPORATION BENEFITING from the ignorance; whereas, if a corporation or organization representing a conglomeration of businesses or otherwise excessively wealthy people (like the RIAA does for the recording and motion-picture industry and its artists), then you can suddenly NOT plead ignorance of the law, even if you truly did not knowingly break the law.

    Industries that need cheap labor [and get it by exploiting the illegal-alien labor pool] can benefit from the rulings that SSN-theft is not identity theft if done "without knowing" and for the purpose of employment or such.  The recording industry can benefit from the ruling that someone downloading copyrighted works "without knowing" is still guilty of theft because the downloader should have first read the copyright notice on the original CD or movie label (the label never in their possession) prior to downloading -- i.e., there is NEVER a case where someone can "not knowingly" violate copyright law.

    Am I the only one that sees the insanity in this?

    Wednesday, September 29, 2010

    VMware ESXi 4.0 to 4.1 Upgrade How-To

    I totally recommend VMware(Public, NYSE:VMW) ESXi 4.1, which is VMware's latest free bare-metal hypervisor for server-based virtualization and virtual-machine infrastructure. VMware has a wonderful series of products in their vSphere suite and other virtualization products to complement this also.

    Now, if you are like me and need to perform an upgrade from ESXi 4.0 to ESXi 4.1 on an existing server, you may quickly find yourself a bit miffed at VMware for getting rid of the handy client-side GUI host-update-utility/server-update-utility that previously came with ESXi 4.0; instead, you will find yourself forced to work at the "unsupported" command-line within ESXi 4.1 for a bit, but do not fear, it is rather straightforward and worth the patience.

    Step 1: Get Required ESXi 4.1 Upgrade Files
    On the VMware web site for ESXi 4.1 downloads, you will find the upgrade files that we are going to use to perform this update from VMware ESXi 4.0 to version 4.1 of ESXi.

    Files to download:
    • upgrade-from-ESXi4.0-to-4.1.0-0.0.260247-release.zip
    • VMware-viclient-all-4.1.0-258902.exe
    Now that you have those files, begin by extracting the contents of the upgrade...zip file. Once you do this, you will find the following files that we will be transferring to our ESXi Server:
    • vmware-esx-esxupdate-esxi-4.1.0-0.0.260247.i386.vib
    • vmware-esx-firmware-4.1.0-0.0.260247.i386.vib
    • vmware-esx-tools-light-4.1.0-0.0.260247.i386.vib
    These ".vib" files are vSphere Installation Bundles (VIB files) that are essentially just Debian (Linux) Packages from what I can tell.

    Step 2: Get those VIB files to your ESXi Server
    This step may sound a bit complicated or cumbersome to anyone that is used to doing all this sort of thing with nice little management GUIs, but it really is not TOO bad even for a novice. Just follow along and I will try to make this as straight-forward and simple as possible so you can migrate from ESXi 4.0 to ESXi 4.1 without incident. (note: as always, back up your VMs and such first, just in case).

    In a nutshell, what we are about to do: we need to get the *.vib files over onto your ESXi datastore where they can be accessible by the ESXi command-line esxupdate utility where we can then apply the latest ESXi 4.1 .vib files as an update to our 4.0 installation.

    Enable SSH access to your ESXi 4.0 ServerIf you already have this setup, just skip to the next step. If you need to know how to do this, here's how in a quick way.

    An aside about PuTTY: I highly recommend downloading and installing PuTTY for an SSH client. This tool will come in very handy, as it makes it really easy to cut/copy/paste text from your desktop machine to the ESXi command-line. And, since we are going to have some rather lengthy commands coming up, this feature alone is worth having a nice SSH client.

    Another aside: enabling SSH on ESXi 4.1 (i.e., after we upgrade) is cake. More discussion below.

    From your ESXi Server Console, get to the "command line":

    You can get to the command-line as follows: use the keyboard and press ALT-F1, then type "unsupported" without quotes, and you will not see this being typed... then, when prompted, enter the root password for your ESXi server.

    NOTE: at any time, you can press ALT-F2, or type "exit" followed by , to go back to ESXi yellow/grey screens you are used to.

    Now, edit the /etc/inetd.conf file to enable SSH. The "vi" editor is available at the ESXi command-line level, so what you want to do is:
    • vi (this will start the VI editor)
    • find and uncomment SSH lines (i.e., remove the # sign at front of line(s))
    • :qw (this keystroke-combo writes changes to disk and exits)
    • or :q! (exit, no changes saved -- in case you mess up something and just want to start over)

    OK, you should now have the correct /etc/inetd.conf file settings to enable SSH, but in ESXi 4.0 you need to essentially restart some stuff to get that setting-change to "take". So, enable SSH on ESXi, as follows, from the command-line in ESXi console... (this is cake in ESXi 4.1 (see below), but prior to that upgrade, you need to do this manually.
    • ps | grep inetd
    • kill -1 <the-PID-as-shown-in-our-ps-grep-command>
    • and/or: sbin/services.sh restart (try this if SSH not running after above two steps)

    OK, that should make SSH available to your SSH-Client (e.g., PuTTY), so you can connect from your Windows desktop computer to the ESXi Server and have nice GUI command-line window to ESXi 4.0's command-line. When you connect with PuTTY, you will need to "login", so keep that root password handy. The only notable PuTTY settings I entered were to use port 22 (on connection/data screen) and to use root for autologin information.

    Transfer the files to your ESXi Datastore:
    Here is how I went about this...

    Place those 3 files (.vib) that we extracted earlier in a location that you can reach, via an HTTP URL, from the ESXi command-line when we use WGET in upcoming step. Those files were:
    • vmware-esx-esxupdate-esxi-4.1.0-0.0.260247.i386.vib
    • vmware-esx-firmware-4.1.0-0.0.260247.i386.vib
    • vmware-esx-tools-light-4.1.0-0.0.260247.i386.vib
    I was able to use my networked QNAP NAS appliance for temporarily "hosting" those 3 files on in a directory that would be accessible via HTTP/wget. I simply placed the files in my QNAP appliance's QWeb directory and temporarily enabled the NAS appliance web-server via QNAP Admin. Hopefully you have somewhere equally simple to place those 3 files where you can "retrieve" them to the ESXi server via wget.

    wget the files (over HTTP) to the ESXi 4.0 Host
    We are performing these steps from our ESXi 4.0 command-line; in particular, I did this through the PuTTY SSH client terminal-window that gave me access to the ESXi command-line from my Windows desktop. Do these steps:
    • cd /vmfs/volumes/YOUR-DATASTORE-DIR-HERE 
    • wget http://YOUR-WEB-SERVER-WITH-VIB-FILES-ADDRESS-HERE/vmware-esx-esxupdate-esxi-4.1.0-0.0.260247.i386.vib 
    • repeat wget for other two VIB files 
    • cd /
    OK, you should now have your files available on your ESXi 4.0 server, in the datastore directory you chose, and now you are ready to upgrade 4.0 to 4.1.

    Step 3: Applying VIB files to your ESXi Server
    There are really just two commands you will need to execute (well, one that matters; the first one is a "test run" that does not apply the updates - it just "tests" them).

    You will want to do this at the ESXi command-prompt, and through your PuTTY SSH client or such (for easy cut/paste of command). Replace "DATASTORE" with the exact directory-name of your particular datastore where you placed those VIB files earlier (i.e., the value of YOUR-DATASTORE-DIR-HERE in prior step where we used wget to transfer the VIB files to your datastore):

    esxupdate -b /vmfs/volumes/DATASTORE/vmware-esx-firmware-4.1.0-0.0.260247.i386.vib -b /vmfs/volumes/DATASTORE/vmware-esx-esxupdate-esxi-4.1.0-0.0.260247.i386.vib -b /vmfs/volumes/DATASTORE/vmware-esx-tools-light-4.1.0-0.0.260247.i386.vib stage

    THAT TESTS IT... notice the "stage" directive at the end of the line... we are "staging", or "testing" the packages essentially. If all looks fine after that comment, this NEXT COMMAND REALLY DOES the upgrade (aka, "update"):

    esxupdate -b /vmfs/volumes/DATASTORE/vmware-esx-firmware-4.1.0-0.0.260247.i386.vib -b /vmfs/volumes/DATASTORE/vmware-esx-esxupdate-esxi-4.1.0-0.0.260247.i386.vib -b /vmfs/volumes/DATASTORE/vmware-esx-tools-light-4.1.0-0.0.260247.i386.vib update

    ALL RIGHT, you should now have updated ESXi 4.0 to ESXi 4.1 (well, after your server is done applying that stuff, and rebooting -- allow a few minutes for the update command, and then time to reboot after all that).

    Step 4: Update viClient to Version 4.1
    This part is rather simple. You should have download (in first step) the file: VMware-viclient-all-4.1.0-258902.exe

    Just run that executable and update your client machine(s) to have the latest VMware viClient 4.1

    Connect to your newly updated ESXi 4.1 host machine now with that viClient 4.1 GUI, and proceed...

    Step 5: Re-Enable SSH on ESXi 4.1 Server
    IF YOU WANT SSH enabled after updating to 4.1, you will find that the /etc/inetd.conf file on ESXi has reverted to not allowing SSH. But, with ESXi 4.1, enabling ssh is really simple from the vSphere 4.1 client.

    FROM HOST management-GUI (viClient)
    > Security profile - Services, Properties... (in upper-right-corner in blue)
    > Remote Tech Support (SSH) ; daemon will show "Stopped" by default
    > Options... (button in lower left)
    > Choose a Startup-Policy type with radio-button (e.g., "Start automatically", then click the Service-Commands button below labeled “Start”, followed by the "OK" button.

    Works instantly! That sure is preferred to having to manually edit the initd.conf file!

    Step 6: Cleanup Install Files and Wrap-Up
    You should be able to safely remove the .vib FILES from your datastore when all is done, and likewise you can remove them from your web-server or wherever you pulled them over to ESXi from.

    That should do it!

    I hope this goes as smoothly for you as it did for me.
    I had to figure out this stuff, but once I got over the fact that there was no ESXi 4.0 to 4.1 upgrade GUI tool (like 4.0 offered), I just dealt with it and went to the command-line and such. You can too, and best wishes!

    Tuesday, September 07, 2010

    FEIT Electric LED Night Lights : JUNK!

    I found this awesome product, or so I thought, at CostCo last year... a 10 or 12-pack of FEIT Electric (brand) LED Night Lights that were going to save me all sorts of money based on the reduced power consumption they promised.

    Well, sure, they may not use much power, but:
    THEY DO NOT LAST, and more than half of those purchased are dead after 1yr!

    So much for the stated "30,000 hour lifespan" on the packaging, and on their website!
    JUNK. Period.

    The one LED night-light is marked model 57YL NL6/LED with a .5W rating, and the others in the bulk-pack were the .3W rated NL1/LED (also has 57YL indication on label).  BOTH types have failed miserably.  And, the ones that continue to work are losing their brightness!  It seems quite obvious they will all be dead soon.

    This is what I call "green-washing" at its best.  
    Sure, the LED Nightlights were SUPPOSED to save me money -- based on that 30,000 hours and on the 90%-less power they consume.  But, they were not cheap enough to save money if they die after a year, and now there is all this plastic and metal fused into a "nightlight" package that I have to pitch into the trash (not exactly eco-friendly when pitched into landfills by the dozen).

    So, avoid these.
    I found a new type which is much brighter at the same wattage, and so far are holding up.  But, the jury is out on the new LED nightlights too, since I have only had the new brand 6-months.  Time will tell.

    There is a *promise* of money-saving with LED lights, for sure.  But, ONLY if they last!
    I like using them throughout my home (the "night lights") to light hallways and rooms slightly so that I do not need to turn on overhead illumination if just "passing through" in the evening.  Also, they make great "theater lights" in the TV room (highly recommended for that - IF you can find ones that last).

    Enough said... that is my quick review of these FEIT Electric Brand LED nightlights.

    Friday, August 13, 2010

    Nvidia CUDA Toolkit 3.1 - with Fermi card optimizations

    The latest Nvidia "Fermi" GPUs (Graphical Processing Units) are making their way to the stores now by way of the latest Nvidia Graphics Cards that are definitely worth a look if it has been over a year since you upgraded your graphics card - the processing power per watt now is just unbelievable!  And, the latest Nvidia CUDA Toolkit 3.1 release has some features specific to the new Fermi cards and architecture that you may want to check into; just in case you are into GPU programming for fun.

    Nvidia (NASDAQ:NVDA) has moved to a modern 40nm architecture for these new GPUs, which has allowed them to be much more power-efficient while cranking out tons of graphics horsepower for gaming and/or professional applications that make use of their stream-processors (aka, "CUDA cores") on the graphics card for high-performance computing (HPC) via massively-parallel-processed algorithms.  CUDA is NVIDIA’s parallel computing architecture that enables dramatic increases in computing performance by harnessing the power of the GPU (graphics processing unit) for applications including image and video processing, computational biology and chemistry, fluid dynamics simulation, CT image reconstruction, seismic analysis, ray tracing, and much more.

    Get your NVidia Fermi Graphics Card
    First, get hold of a new Fermi-based Nvidia CUDA Graphics card to develop and run your new CUDA applications on.  There are some really great cards out now that offer some really nice punch for the buck (aka, "price-to-performance ratio"), including these:
    • Nvidia Geforce GTX 460 - a very reasonably priced (~ $200.00) super-powerful mainstream / desktop graphics card (targets gamers mainly) that smokes every other card on the market in this price range.  This card offers 336 CUDA processing cores and a Gigabyte of RAM to run your new Nvidia CUDA Toolkit 3.1 applications on.
    • The brand new professional-class NVidia Quadro 4000 (NOT to be confused with the old Quadro FX 4000!) -- this ~$1000 card has 256 CUDA cores coupled to 2GB of GDDR5 RAM and is well suited to apps like CAD, Photoshop CS4 / CS5, and other CUDA-enabled professional apps. The card is quite power-efficient at only 142 watts max.
    Now you can start putting some new CUDA abilities to work...

    Nvidia CUDA Toolkit 3.1 Release Highlights
    • GPUDirect(tm) gives 3rd party devices direct access to CUDA Memory
    • Support for 16-way concurrency allows up to 16 different kernels to run at the same time on Fermi architecture GPUs
    • Runtime / Driver interoperability enables applications to mix-n-match use of the CUDA Driver API with CUDA C Runtim and math libraries via buffer sharing and context migration
    • New language features added to CUDA C / C++ include:
      • Support for printf() in device code
      • Support for function pointers and recursion make it easier to port many existing algorithms to Fermi GPUs
    • Unified Visual Profiler now supports both CUDA C/C++ and OpenCL, and now includes support for CUDA Driver API tracing
    • Math Libraries Performance Improvements, including:
      • Improved performance of selected transcendental functions from the log, pow, erf, and gamma families
      • Significant improvements in double-precision FFT performance on Fermi-architecture GPUs for 2^n transform sizes
      • Streaming API now supported in CUBLAS for overlapping copy and compute operations
      • CUFFT Real-to-complex (R2C) and complex-to-real (C2R) optimizations for 2^n data sizes
      • Improved performance for GEMV and SYMV subroutines in CUBLAS
      • Optimized double-precision implementations of divide and reciprocal routines for the Fermi architecture
    • New and updated SDK code samples demonstrating how to use:
      • Function pointers in CUDA C/C++ kernels
      • OpenCL / Direct3D buffer sharing
      • Hidden Markov Model in OpenCL
      • Microsoft Excel GPGPU example showing how to run an Excel function on the GPU

    Financial Opportunities - Nvidia (NASDAQ:NVDA) stock?
    Since this blog also focuses on stock-market and investing opportunities, I have to contemplate whether the new Nvidia Fermi cards are going to drive substantial sales/revenue-gains and associated profit-gains for Nvidia corporation.  I can not help thinking that it is inevitable, especially when so many of the online retailers I went to in search of a new Nvidia GTX 460 card from were out of stock, backordered, and so forth.

    And, these cards are out there already... people lucky enough to have gotten hold of them already are essentially uniformly impressed and satisfied with the performance of the GTX 460 card.  I have read all sorts of reviews from buyers saying how these cards have set a new standard in desktop gaming performance (frame-rates, etc) while also being rather reasonable in their power consumption.  Nvidia allows for running two cards together (in SLI-mode) for even higher performance, and from all the tests and reviews I have read: wow... these are FAST!

    So, it seems to be nearly a guarantee that Nvidia is going to move a LOT of these cards.  The question is: at what margin?  They are being VERY competitive and aggressive with their pricing model, which suggests that margins may not be TOO large, but I do not know.  I will assume they are being sold for a profit, and that with enough volume, their margins will also be pretty decent.

    And, then there is the super-computing and professional market: THAT is what I am more interested in from an investing standpoint.  These cards are being used in the top of the line supercomputers and high-performance computing systems and clusters, where a single super-computer may use 100s or 1000s of these cards in it.  And, Nvidia's top Quadro 6000 graphics card lists for $6,000 -- targetting digital production firms (think: Adobe Photoshop and Premier e.g.) and engineering firms doing real-time 3D work and the like.  These firms WILL buy the new Fermi-based cards in order to gain efficiencies at their firms (since these cards are up to 8-times faster than the prior generation; meaning: much time saved when rendering, etc).

    Sure, the economy is "slow" right now, but what better way for companies to gain efficiency for a reasonable sum?  Move some processing off to new super-powered Nvidia GPUs!  If your employees spend less time waiting for computing operations to complete, perhaps you can get by with less employees (note: none of us like the sound of that, but it IS what helps drive "productivity"'; I'd just prefer seeing and freed-up employee time being redirected toward more creativity and product design and improvement, etc).

    Bottom line: NVIDIA HAS SOME AWESOME GRAPHICS CARDS TO CONSIDER, and some updated tools to go with them!

    Friday, July 09, 2010

    Gulf of Mexico "Dead Zone" (NOT from BP Spill)

    Just in case you thought the Gulf of Mexico was a pristine body of water prior to the BP Oil Leak incident, think again. I find the response to the oil-spill in the Gulf , by the public at large, both predictable and amazing in a way... they mostly exhort passionate outcries and admonishments focused around how evil BP is and how terrible the oil spill is because it is poisoning the water in the Gulf.

    Why are people everywhere only NOW concerned with the state of the Gulf? Simply put: because the media is giving it mass attention and NOT telling people that the Gulf of Mexico has been suffering from all sorts of poisonings and water-quality degradations for decades; though, much of the damage to-date is not so *visible* from the surface. And, the downward spiral in Gulf water quality - as usual - has to do with how we ALL behave...

    I have been following the decline in the Gulf of Mexico for years - in particular the issue of long-term marine "Dead Zones" (i.e., deoxygenated/hypoxia zones) caused primarily by the mass infusion of fertilizers that have migrated to the Gulf from farmland runoff (some originating all the way back in the Midwest "corn belt").

    Fertilizers and livestock waste are the main source of the nitrogen and phosphorus that cause the annual Gulf of Mexico dead-zone phenomenon (i.e., hypoxia zone, or oxygen-starved zones). Farmers apply abundant amounts to fields so that we can all enjoy the short-term benefit of relatively "cheap" crops that grow quickly with the aid of petroleum-based fertilizers. Homeowners feel they must also contribute to the problem by fertilizing their yards for the perfect green lawn... and, then there is the mass use of toxic herbicides used on lawns and fields everywhere. This all leads to a severe problem when it poisons our waters and makes the Gulf (and other water sources) uninhabitable by marine life! Where are all the outcries to stop using fertilizers that are killing the Gulf, its fisheries, and the potential for marine life there?

    I think this image says it all:
    Gulf of Mexico "Dead Zones"
    The red and yellow areas show the approximate boundaries of a Gulf of Mexico dead zone from several years ago [i.e., well before any BP Oil Spill issues]. (Credit: NASA/Goddard Space Flight Center Scientific Visualization Studio provided main image)
    I just read an article about how the 2010 Gulf Dead Zone is predicted to be huge (and, again, this is WITHOUT the impact of the BP Oil Spill). Just read this text excerpt from the story, and you will perhaps understand how bad of shape the Gulf is in, regardless of the oil spill:
    University of Michigan aquatic ecologist Donald Scavia and his colleagues say this year's [2010] Gulf of Mexico "dead zone" is expected to be larger than average, continuing a decades-long trend that threatens the health of a $659 million fishery.


    The most likely scenario, according to Scavia, is a Gulf dead zone of 6,564 square miles, which would make it [2010] the Gulf's 10th-largest oxygen-starved, or hypoxic, region on record. The average size over the past five years was about 6,000 square miles.

    It is unclear what impact, if any, the Deepwater Horizon oil spill will have on the size of this year's Gulf dead zone because numerous factors are at work, the researchers say.
    OK everyone... it is time to wake up to the cold hard reality that we are poisoning the planet at an exceptional rate, and that the BP oil spill is just one contributor to the whole. If people in the Gulf region can sue BP for damages to their way of life, why are the Gulf of Mexico fisherman and shellfish harvesters not suing farmers in the Midwest and South for killing off the fish in the Gulf with dead-zones caused by their fertilizers?

    Although there is definitive proof that the Gulf fishing industry is taking a beating from all the fertilizers, pesticides, and other chemicals entering the Gulf water every year for decades, why is it just NOW that there is a potential lawsuit for damages to the Gulf? Simple: BP makes an easy target... one company to point a finger at... one company with "deep pockets"... one company in the news daily. Perhaps fisherman should consider the fact that OTHER large companies that manufacture fertilizer and other toxic chemicals (that make their way into the Gulf) also have deep pockets?!

    Heck, if blame is to finally be made and damages are to be collected, the Gulf fishermen should pursue collecting damages from those other companies (fertilizer manufacturers, large agri-business, etc) too... the ones whose products created the 6,000+ square miles of "dead zones" in their fishing areas. But, it will never happen. Why? Because the other firms are not in the news, because their contribution to the mess in the Gulf has happened over a long period of time and is not noticeable to the average person sitting at the beach. And, not enough of us are willing to give up our (supposedly) "cheap" crops and our beautiful green lawns.

    Instead, there will be very little discord with regards to the Gulf: people will blame BP for everything and ignore the fact that this body of water was already experiencing major issues before the current oil spill, and many other bodies of water are equally at risk and experiencing similar damage throughout the US coastal regions and waterways. Can we please start trying to clean up our water elsewhere without something as noticeable as an oil spill to spark our attention!?