The portability of programs between *nix und Windows is often limited not by the program itself but by certain helper tools. One of those is getopt which provides a fast and easy way to read in command line arguments.
Please find a windows version here: http://suacommunity.com/dictionary/getopt-entry.php
You will find more other useful ports here as well.
Thursday, December 22, 2011
Friday, December 16, 2011
GIT: git show and git describe
You can easily have a look at a tag with
git show mytag
Much more powerfull and showing you all sorts of realations between tags and commits is git describe:
http://gitfu.wordpress.com/2008/05/25/git-describe-great-another-way-to-refer-to-commits/
git show mytag
Much more powerfull and showing you all sorts of realations between tags and commits is git describe:
http://gitfu.wordpress.com/2008/05/25/git-describe-great-another-way-to-refer-to-commits/
Friday, November 25, 2011
XFCE: Set volumen function keys
Go to Settings > Keyboard > Shortcuts and add three shortcuts for your function keys. The commands should be:
amixer set Master 5%+
amixer set Master 5%-
amixer set Master toggle
This requires that the function keys are actually recognized by your system but have no command assigned till now
amixer set Master 5%+
amixer set Master 5%-
amixer set Master toggle
This requires that the function keys are actually recognized by your system but have no command assigned till now
Thursday, November 10, 2011
VirtualBox: ResizeHD
In general the following should work:
VBoxManage modifyhd MYHD.vdi --resize 20000
Were 20000 is more or less 20 GB.
If the command fails several reasons could be the cause.
VBoxManage modifyhd MYHD.vdi --resize 20000
Were 20000 is more or less 20 GB.
If the command fails several reasons could be the cause.
- The virtual disk is already larger. Till now you cannot shrink drives that way. Take a close look in the VM whether you already use that space actually. In Windows this information is under Computer Management --> Storage --> Disk Management
- The virtual disk has the wrong type. Issue the command:
VBoxManage showhdinfo MYHD.vdi
If the result is not:
Format variant: dynamic default
you have to migrate your disk to that dynamic system. Since this is the default container for newer versions you can simply clone your HD file and then enlarge the new one:
VBoxManage clonehd MYHD.vdi MYNEWHD.vdi
- I did not encounter other errors, please comment if you have any problem and/or solution
Tuesday, November 8, 2011
WINDOWS: Build Boost for Visual Studio 2010
Source:
http://stackoverflow.com/questions/2629421/how-to-use-boost-in-visual-studio-2010
If you are using headers only libraries, then all you need to do is to unarchive the boost download and set up the environment variables. The instruction below set the environment variables for Visual Studio only, and not across the system as a whole. Note you only have to do it once.
If you want to use the part of boost that require building, but none of the features that requires external dependencies, then building it is fairly simple.
http://stackoverflow.com/questions/2629421/how-to-use-boost-in-visual-studio-2010
If you are using headers only libraries, then all you need to do is to unarchive the boost download and set up the environment variables. The instruction below set the environment variables for Visual Studio only, and not across the system as a whole. Note you only have to do it once.
- Unarchive the latest version of boost (1.47.0 as of writing) into a directory of your choice (e.g.
C:\boost_1_47_0
). - Create a new empty project in Visual Studio.
- Open the Property Manager and expand one of the configuration for the platform of your choice.
- Select & right click
Microsoft.Cpp.<Platform>.user
, and selectProperties
to open the Property Page for edit. - Select
VC++ Directories
on the left. - Edit the
Include Directories
section to include the path to your boost source files. - Repeat steps 3 - 6 for different platform of your choice if needed.
If you want to use the part of boost that require building, but none of the features that requires external dependencies, then building it is fairly simple.
- Unarchive the latest version of boost (1.47.0 as of writing) into a directory of your choice (e.g.
C:\boost_1_47_0
). - Start the Visual Studio Command Prompt for the platform of your choice and navigate to where boost is.
- Run:
bootstrap.bat
to build b2.exe (previously named bjam). - Run b2: (Win32)
b2 --toolset=msvc-10.0 --build-type=complete stage
; (x64)b2 --toolset=msvc-10.0 --build-type=complete architecture=x86 address-model=64 stage
. Go for a walk / watch a movie or 2 / .... - Go through steps 2 - 6 from the set of instruction above to set the environment variables.
- Edit the
Library Directories
section to include the path to your boost libraries output. (The default for the example and instructions above would beC:\boost_1_47_0\stage\lib
. Rename and move the directory first if you want to have x86 & x64 side by side (such as to<BOOST_PATH>\lib\x86
&<BOOST_PATH>\lib\x64
). - Repeat steps 2 - 6 for different platform of your choice if needed.
If you want both x64 & win32 side by side, add "--stagedir=lib/win32" and "--stagedir=lib/x64" to the respective builds
Monday, October 31, 2011
Exchange 2010: Enable RPC over HTTPS: Outlook Anywhere
In Exchange Management Console select Server Node and Client Access.
In action pane hit Enable Outlook Anywhere.
Additionally you need to install the Feature RPC over HTTP Proxy of Win200 Server.
http://exchangeserverpro.com/how-to-configure-exchange-server-2010-outlook-anywhere
Sunday, October 30, 2011
EXCHANGE 2010: An error caused a change in the current set of domain controllers
After some digging in the profile, I found out the following file, which seemed to be the cause of the problem:
c:\users\<specific user>\appdata\roaming\microsoft\mmc\Exchange Management Console
Rename or delete this file, restart the EX2010 EMC and all errors will be gone.
From:
http://trycatch.be/blogs/pdtit/archive/2010/02/04/an-error-caused-a-change-in-the-current-set-of-domain-controllers-exchange-2010.aspx
Monday, August 15, 2011
Outlook 2010 HTML break blue citation line
Coming from Outlook 2003 everyone knows that one can break the blue line marking the cited text by entering a new text or at least with the common reverse indent button. This does no longer work for Outlook 2007 and 2010 as the blue line is now represented in some different way.
You can get around this by Ctrl+Q but if you check the email at the recipients mailbox, you will see the unbroken blue line again.
If you switch to Rich Text you can actually use Ctrl+Q and it will be that way at the recipients side too.
If you have a real solution to the html problem, please comment!!!!
Please refrain from any unfeasible comments about the sense and non-sense of HTML mails. For that a lot of forums are available online to take that garbage!
You can get around this by Ctrl+Q but if you check the email at the recipients mailbox, you will see the unbroken blue line again.
If you switch to Rich Text you can actually use Ctrl+Q and it will be that way at the recipients side too.
If you have a real solution to the html problem, please comment!!!!
Please refrain from any unfeasible comments about the sense and non-sense of HTML mails. For that a lot of forums are available online to take that garbage!
Thursday, August 11, 2011
OpenCL programming
OpenCL Kernels get compiled at execution time (Just in Time, JIT).
This means that any error inside the kernel is discovered at that time.
The error message I get till now are very silent about what the problem of the kernel is.
So there is just one method of commenting and uncommenting to get a kernel debugged just for compilation.
Intel however recently released it's first beta version of OpenCL with a lot of tools.
As with early Parallel Studio, these tools are only available for Windows (in particular Win Vista + and Server 2008) and not for Linux.
Note, that the runtime for compiling and running OpenCL is available for Linux, Mac and Windows!
Included is the Intel OpenCL Offline Compiler where you can load your kernel and precompile it.
Here the error messages are much more helpfull (of course, helpfull in a way ordinary compiler messages are helpfull :-)).
Nevertheless, a great tool which makes daily programming a lot easier.
LINK: http://www.intel.com/go/opencl/
This means that any error inside the kernel is discovered at that time.
The error message I get till now are very silent about what the problem of the kernel is.
So there is just one method of commenting and uncommenting to get a kernel debugged just for compilation.
Intel however recently released it's first beta version of OpenCL with a lot of tools.
As with early Parallel Studio, these tools are only available for Windows (in particular Win Vista + and Server 2008) and not for Linux.
Note, that the runtime for compiling and running OpenCL is available for Linux, Mac and Windows!
Included is the Intel OpenCL Offline Compiler where you can load your kernel and precompile it.
Here the error messages are much more helpfull (of course, helpfull in a way ordinary compiler messages are helpfull :-)).
Nevertheless, a great tool which makes daily programming a lot easier.
LINK: http://www.intel.com/go/opencl/
Labels:
Allgemeines,
AMD/ATI,
CUDA,
FERMI,
General Topics,
GPU,
HPC2008,
Intel,
NVIDIA,
OpenCL,
TESLA,
Windows7
Tuesday, August 9, 2011
OpenCL GPU computing tutorial
Very nice tutorial with hands on about installation, setup and programming:
http://www.thebigblob.com/getting-started-with-opencl-and-gpu-computing/
http://www.thebigblob.com/getting-started-with-opencl-and-gpu-computing/
Friday, August 5, 2011
NVIDIA CUDA disable/enable ECC , new commands
In order to query ECC status in CUDA 4.0 (and hopefully the next versions), nvidia-smi works a little bit different:
will give you a excerpt.
Just use
To enable ECC:
To disable ECC:
Where i is the GPU ID!
nvidia-smi -q | grep -e"Ecc Mode" -e"Product" -A2
will give you a excerpt.
Just use
nvidia-smi -q
for full outputTo enable ECC:
nvidia-smi -i 0 -e 1
To disable ECC:
nvidia-smi -i 0 -e 0
Where i is the GPU ID!
Thursday, August 4, 2011
TinyGPU upgrade to CUDA Toolkit 4.0
All nodes of the TinyGPU Cluster is now on the current CUDA Toolkit 4.0 and the appropriate driver.
Tuesday, July 12, 2011
GIT: Compare/Diff working directory against server/repository state
git fetch --> updates your local rep but not your working Dir
git diff ... origin gives you the comparison
git diff ... origin gives you the comparison
Monday, July 11, 2011
GIT: Ignore File mode/right changes
If you have files or directories under git control and change the rights of them, git does recognize them as changed.
To force git to ignore these changes just execute the following.
You can reenable that after all files have a new revision because of an actual change and are comitted in the new mode anyway.
To force git to ignore these changes just execute the following.
git config core.filemode false
You can reenable that after all files have a new revision because of an actual change and are comitted in the new mode anyway.
Tuesday, June 28, 2011
LIKWID: Installation Hint
If you set the likwid install path in config.mk and the last character is a slash, likwid-pin will not run with the following error message:
ERROR: ld.so: object '~/helper/likwid-2.2-inst' from LD_PRELOAD cannot be preloaded: ignored.
Delete the last slash and do
make clean && make && make install
and likwid-pin should work fine.
ERROR: ld.so: object '~/helper/likwid-2.2-inst' from LD_PRELOAD cannot be preloaded: ignored.
Delete the last slash and do
make clean && make && make install
and likwid-pin should work fine.
Monday, June 27, 2011
GIT: Clone Repository with different branch than master
git clone git@someserver.com:projectname newdir -b yourbranchname
Tuesday, June 21, 2011
Disable Fermi Cache
To disable Fermi L1 Cache in CUDA just compile with: -Xptxas -dlcm=cg
Any idea on how to do this with OpenCL?
Any idea on how to do this with OpenCL?
Monday, June 20, 2011
7th Erlangen International High-End-Computing Symposium
Please note the upcoming 7th EIHECS on this weeks Friday 24th of June .
Tuesday, June 14, 2011
GIT: Getting information about tags
To show the tags you made and the comments or tag messages:
git tag -l -n1
Monday, April 18, 2011
NVIDIA CUDA disable/enable ECC
Show ECC config
Enable ECC on GPU 0:
Disable ECC on GPU 0:
You need a reboot to get settings active
nvidia-smi -r
Enable ECC on GPU 0:
nvidia-smi -g 0 -e 1
Disable ECC on GPU 0:
nvidia-smi -g 0 -e 0
You need a reboot to get settings active
Thursday, April 7, 2011
EMACS: Whitespaces
Motivation:
Each and every editor handles whitespaces tabs etc. differently. The first step to get everyting out to the open is so show whitespaces and tabs the way the editor sees them. For me it's emacs and the following lines in your ~/.emacs should give you a good view of whitespaces.
Look at this documentation for all references
Please be patient and drop me a comment if there are any errors or misunderstandings. I'm really no emacs pro!!!
Each and every editor handles whitespaces tabs etc. differently. The first step to get everyting out to the open is so show whitespaces and tabs the way the editor sees them. For me it's emacs and the following lines in your ~/.emacs should give you a good view of whitespaces.
Look at this documentation for all references
Please be patient and drop me a comment if there are any errors or misunderstandings. I'm really no emacs pro!!!
(require 'whitespace)
(global-whitespace-mode t)
Monday, March 28, 2011
GIT: Remote branches
Show remote branches:
git remote show origin
Wednesday, March 16, 2011
GIT: Pushing a new repository to a git server the first time
Scenario:
You created some local repository and worked on that for a while. Now you want to have it on a server so that others can collaborate.
We want to keep the full history so we want to push the current repository to the server. In order to do this at least for the master branch you have to edit the config file at:
It probably looks like the following:
The easiest way to get everything right is to check out the empty repository from the server via
Finally you see that you have to add something like:
To the existing config.
Now issue a git push origin master and the master will be pushed.
If you know whether that works with branches as well or how to get that working, please drop me a comment!?
There are other ways to just give the repository as a argument at the
You created some local repository and worked on that for a while. Now you want to have it on a server so that others can collaborate.
We want to keep the full history so we want to push the current repository to the server. In order to do this at least for the master branch you have to edit the config file at:
/.git/config
It probably looks like the following:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
The easiest way to get everything right is to check out the empty repository from the server via
git clone
and diff the two config files.Finally you see that you have to add something like:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = user@yourgitserver.com:MyNewProject
[branch "master"]
remote = origin
merge = refs/heads/master
To the existing config.
Now issue a git push origin master and the master will be pushed.
If you know whether that works with branches as well or how to get that working, please drop me a comment!?
There are other ways to just give the repository as a argument at the
git push
command but I like to keep my old directories.
Wednesday, January 26, 2011
GIT: Merging changes of a branch back to master
You branched out for development and now it is time to get the improvements back to the master branch.
This is achieve by
To be sure to not mess up anything, I prefer to clone my repository first and do the merge there.
So best is if you commit all changes in master and dev branch. Do a couple of pushs and pulls so everything is in sync and then clone your repository to a new location.
You can directly clone the branch you want to merge then proceed to 2. otherwise do a
You have to resolve any conflicts in any files by removing the spiky brackets in the file and of course take a close look what caused the conflict and fix it.
Then add the file via
Do this for every file.
This is achieve by
git merge
while on the master branch.To be sure to not mess up anything, I prefer to clone my repository first and do the merge there.
So best is if you commit all changes in master and dev branch. Do a couple of pushs and pulls so everything is in sync and then clone your repository to a new location.
You can directly clone the branch you want to merge then proceed to 2. otherwise do a
git checkout branchname
git checkout master
git merge branchname
You have to resolve any conflicts in any files by removing the spiky brackets in the file and of course take a close look what caused the conflict and fix it.
Then add the file via
git add
and commit it via git commit
.Do this for every file.
Thursday, January 20, 2011
CVS: Get new directories of the server
If you want to update your CVS working copy to get new directories from the server, a simple
Try
cvs up
does not get these directories.Try
cvs up -d
Saturday, January 15, 2011
Friday, January 14, 2011
GIT: Creating a local Repository
Till now all my posts concerned repositories already created. But how to create your own git rep in the first place?
Simply execute:
and the new-rep-dir is a git repository
Hint by TZ:
Simply execute:
mkdir new-rep-dir
cd new-rep-dir
git init-db
and the new-rep-dir is a git repository
Hint by TZ:
git init
is the alias for git init-db
Subscribe to:
Posts (Atom)