TCM
UoC crest

Your computer

The computer on your desk was, once, highly desirable. Almost all computers in TCM were originally purchased to run significant jobs. Thus they were all purchaed with reasonable amounts of memory, error-correcting memory (so that wrong answers are the result of your bugs, not random hardware errors), reasonably high-end processors, etc. This also means that they were purchased with unadventurous, but reliable, graphics cards, and no regard to whether audio exists.

The down-side of buying good-quality reasonably-specified PCs is that they tend to last a long while. The oldest desktop PCs in the Group can be close to ten years old. However, they still work fine.

The screen is rather more important, and perhaps a little more modern. Almost all of TCM's desktops manage a resolution of at least 1680x1050 pixels, and the Group is prepared to upgrade the monitor of any PC which does not have either a 1920x1080 monitor.

All the desktop PCs run the same OS and are identically configured, as far as differences in their hardware allows. As your home directory is stored centrally (and backed up), and the /rscratch directory is also stored centrally (but not backed up), it should be easy for you to move from PC to PC, seeking the biggest and best, or recovering from a hardware failure. If your PC is half decent, other people will be logging in to it remotely to run their jobs. We cannot give everyone the lastest PC on his desk, but we can give everyone access to reasonably recent PCs. Use of the rbusy command readily locates such machines.

The operating system is a rather plain installation of Linux. We want all the computers to be "identical", and we want the big, fast computers to be stable so that they can run jobs lasting many days without needing rebooting. We also know that home directories are on a remote server. This all suggests that GUI filemanagers which make interesting assumptions about the speed and cacheability of one's home directory, and funny desktop effects which might cause your video card to lock up, are not favoured, or, indeed, installed...

The result is not Gnome, and is not KDE. However, one must not think that this means that no Gnome or KDE applications exist. Most do. Gnome fans will find gnome terminals, gedit, evince, and others, and KDE fans will find konsole, okular, kalzium, kompare and much else. Basic X applications, and things which are neither KDE nor Gnome, such as Firefox, the Gimp, OpenOffice and gnuplot, exist. Commercial applications include Mathematica and Matlab. Audio should work too, if the hardware is physically present!

Of course the computer on your desk is not your computer. Others will log into it to run their jobs if it is fast, has lots of memory, or has lots of disk space. It should therefore be left turned on. If it is endearingly antique, fewer other people will use it, it will pay greater attention to you, and you will grow to love it more.

What is in your computer?

Processor and Memory

pc0:~$ status
pc0: 3955Mb Core2 QC 4x2400MHz x86_64. Up 415 days, load 0.0, 3589Mb free

See also our description of different CPUs in TCM.

And for last level cache size:

pc0:~$ grep 'cache size' /proc/cpuinfo
cache size      : 4096 KB
cache size      : 4096 KB
cache size      : 4096 KB
cache size      : 4096 KB

Regrettably that is the same cache reported four times, not four different caches.

Local Disk

pc0:~$ df -h /scratch
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda6             215G   90G  115G  44% /scratch

Sound

pc0:~$ hwinfo --sound --short
sound:
       Intel 82801G (ICH7 Family) High Definition Audio Controller
       ATI Cedar HDMI Audio 
pc0:~$

Ignore any line like "ATI HDMI Audio" (which refers to the HDMI audio device on a modern graphics card), and conclude that this computer does indeed have audio, from an Intel 82801G. We have a further page dedicated to audio in TCM.

Graphics Card

pc0:~$ lspci | grep VGA
01:00.0 VGA compatible controller: ATI Technologies Inc RV710 [Radeon HD 4350]

or

pc0:~$ grep Chipset /var/log/Xorg.0.log
[    21.170] (--) RADEON(0): Chipset: "ATI Radeon HD 4350" (ChipID = 0x954f)

is only a partial answer, though might be enough information when combined with Wikipedia or our graphics benchmarks page...

pc0:~$ dmesg | grep drm | grep RAM
[    0.916320] [drm] Detected VRAM RAM=512M, BAR=256M
[    0.916400] [drm] RAM width 64bits DDR
[    0.916462] [drm] radeon: 512M of VRAM memory ready

adds memory size and bus width, but things are not as they seem. Radeons report a bus width of "64bits" even for cards which are advertised as 128 bits -- this is regarded as two independent 64 bit buses at this level. And "DDR" might well mean DDR2 or DDR3 (or more).

If at the machine's console one can also try:

pc0:~$ glxinfo | grep -E 'Accel|memory'
    Accelerated: no
    Video memory: 7975MB
    Unified memory: no

If "accelerated" is "no", as above, then the video memory line does not refer to the physical hardware. If it is "yes", it does.

Getting the GPU clock speed, and video memory clock speed, seems rather hard.

In TCM, the current clock speed can be found with:

pc0:~# radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 11000 mclk: 25000 vddc: 900

The format of this file is not well-defined, but it should be Human-readable. The uvd lines refers to the Unified Video Decoder which Radeon cards use to decode certain video codecs (the clock speeds of zero mean that it is currently inactive). The next line shows the current GPU clock speed, sclk, in units of 10kHz, the memory clock speed, mclk, also in units of 10kHz, and finally the GPU voltage, in mV. So this shows a 110MHz GPU with 500MHz memory (DDR) running at 900mV. In general, simply running glxgears (and possibly enlarging the resulting window) is sufficient to move our modest GPUs to their highest speed, at which point the GPU above moved to 600MHz and its memory to 800MHz.

Outside of TCM, one may wish to know that the above information comes from reading /sys/kernel/debug/dri/0/radeon_pm_info as root (with a kernel version of 3.11 or newer).

Some of the capabilities of the graphics card are revealed by glxinfo (3D acceleration), xvinfo (basic video scaling and colour transforms) and vdpauinfo (MPEG and H264 decompression), though it can be unclear which facilities are provided by software, and which by hardware.

The important matter of discovering how many cores/rendering units the GPU has so far evades me. I fear that some software uses lookup-tables indexed by model number.

Monitor

pc0:~$ xdpyinfo | grep dim
  dimensions:    1280x800 pixels (325x203 millimeters)
pc0:~$  bc -ql
sqrt(325^2+203^2)/25.4
15.08619087729935798788
quit
So that is a 15.1 inch (diagonal) monitor with a resolution of 1280x800. Don't worry, it is only a virtual monitor, my real monitor is larger.

Network Speed

pc0:~$ ethtool eth0 | grep -E 'Speed|Duplex'
        Speed: 1000Mb/s
        Duplex: Full

All should say full duplex. Most will say 1000Mb/s, though anything using a socket doubler will say 100Mb/s. None should say 10Mb/s(!).

How hot?

pc0:~$ sensors
radeon-pci-0100
Adapter: PCI adapter
temp1:        +78.0°C  

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +44.0°C  (high = +78.0°C, crit = +100.0°C)
Core 1:       +44.0°C  (high = +78.0°C, crit = +100.0°C)

This lists the graphics card temperature, and each of the CPU's cores. For some machines, mostly servers including most of our "s" machines and most of our Haswell-based machines, more comprehensive information can be obtained with ipmi_sensors. The output of this command is formatted for a 120 column window, not 80 column.

Missing Software?

There is a pretty wide range of software installed, but by no means every possible piece of software. We are open to suggestions for additions, and you are free to test software youself (subject to licence restrictions). We would like to take this opportunity to dispel two myths.

It's Linux, so it's free

There is a lot of commercial software for Linux for which one has to pay in a conventional fashion. Mathematica, Maple, Matlab, Intel's compilers, PathScale's compilers, TotalView, and many more. Where a case can be made for spending the required sums, such software can be obtained -- many of the above we have. A case can never be made for pirating software, either onto a TCM computer, or a personal computer used in the course of your work in TCM - both are firmly against University Rules, as either could lead to the University being sued.

It is also not necessarily the case that no-cost software has a licence which enables it to be installed centrally on behalf of scores of different users. Google's Chrome and some of Adobe's licences seem to exclude such practice, for instance.

I need root to test it

Very unlikely. You may need root to install from an rpm, but that is not the only way of installing software, nor the way that a lot of software in TCM is installed. There are currently over 400 pieces of software in /usr/local/shared/bin, including all of the pay-for commercial software we have installed. None of those was installed as root, not least because for a long time the machine responsible for exporting that directory neither ran Linux nor had an Intel-compatible processor!