05 December 2014
27 November 2014
DragonFly BSD 4.0 - released (now 64-bit only)
DragonFly BSD 4.0 has been released and goes 64-bit only.
DragonFly BSD 4.0
Isn't it time that all OSs ditch 32-bit? :-)
DragonFly BSD 4.0
Isn't it time that all OSs ditch 32-bit? :-)
14 November 2014
17 October 2014
02 October 2014
02 September 2014
MIPS Strikes Back: 64-bit Warrior I6400 Arrives
MIPS Strikes Back: 64-bit Warrior I6400 Arrives
http://www.anandtech.com/show/8457/mips-strikes-back-64bit-warrior-i6400-architecture-arrives
22 August 2014
12 August 2014
A couple of ARM 64-bit links
AMD Details “Seattle” ARM Server Chip
http://www.enterprisetech.com/2014/08/11/amd-details-seattle-arm-server-chip/
Tegra K1 “Denver” Will Be First 64-bit ARM Processor for Android
http://blogs.nvidia.com/blog/2014/08/11/tegra-k1-denver-64-bit-for-android/
http://www.enterprisetech.com/2014/08/11/amd-details-seattle-arm-server-chip/
Tegra K1 “Denver” Will Be First 64-bit ARM Processor for Android
http://blogs.nvidia.com/blog/2014/08/11/tegra-k1-denver-64-bit-for-android/
30 July 2014
25 July 2014
16 July 2014
04 June 2014
Oracle and Cavium to work together on Java SE 8 on 64-bit ARMv8
Oracle and Cavium to work together on Java SE 8 on 64-bit ARMv8
https://blogs.oracle.com/henrik/entry/oracle_and_cavium_to_work
https://blogs.oracle.com/henrik/entry/oracle_and_cavium_to_work
13 May 2014
Testing Chromium: ThreadSanitizer v2, a next-gen data race detector
ThreadSanitizer and AddressSanitizer are very interesting new tools for helping with locationing and squashing many classes of bugs. They are first class tools and are very fast.
Testing Chromium: ThreadSanitizer v2, a next-gen data race detector
See also:
Valgrind
GCC 4.8.x changes
Testing Chromium: ThreadSanitizer v2, a next-gen data race detector
See also:
Valgrind
GCC 4.8.x changes
26 March 2014
Solaris Studio 12.4 beta - refreshed
Really interesting update to the Solaris Studio compiler suite.
It looks like it might have lots of new C++11 support & upgrades to the performance analyser, code analyser and OpenMP 4.0 support, and updated debugger and IDE.
What's New in the Oracle Solaris Studio 12.4 Beta
Update:
A refreshed beta was released, update 14th July release.
http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html
It looks like it might have lots of new C++11 support & upgrades to the performance analyser, code analyser and OpenMP 4.0 support, and updated debugger and IDE.
What's New in the Oracle Solaris Studio 12.4 Beta
Update:
A refreshed beta was released, update 14th July release.
http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html
25 February 2014
20 February 2014
Using Linux perf for great CPU stats and seeing system performance
The perf command is a really good low-level Linux profiling tool.
You can use it to profile your programs ...
$ perf stat conv Performance counter stats for 'conv': 18.600269 task-clock # 0.970 CPUs utilized 13 context-switches # 0.001 M/sec 8 CPU-migrations # 0.000 M/sec 1621 page-faults # 0.087 M/sec 34604515 cycles # 1.860 GHz [35.87%] 3070113 stalled-cycles-frontend # 8.87% frontend cycles idle [28.97%] 2557127 stalled-cycles-backend # 7.39% backend cycles idle 10234506 instructions # 0.30 insns per cycle # 0.30 stalled cycles per insn [96.18%] 3765521 branches # 202.444 M/sec [75.68%] 159957 branch-misses # 4.25% of all branches [54.80%] 0.019182090 seconds time elapsed
But you can use it to profile the running system and then for example query who caused certain kernel lock events with the interaction "perf top" tool....
https://perf.wiki.kernel.org/index.php/Main_Page
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Developer_Guide/perf-using.html
31 January 2014
AMD unveils 64-bit ARM-based Opteron A1100 processors
There are quite a few stories about how AMD have released a very interesting 64-bit ARM-based Opteron CPU. Is this a good step towards 64-bit ARM processors becoming common place in data centres?
Hexus: AMD unveils 64-bit ARM-based Opteron A1100 processors
The Register: AMD tries to kickstart ARM-for-servers ecosystem
Hexus: AMD unveils 64-bit ARM-based Opteron A1100 processors
The Register: AMD tries to kickstart ARM-for-servers ecosystem
15 January 2014
How the HP-UX C/C++ compiler can help with 64-bit porting
I'm going to write up some notes about various modern UNIX compilers, first up is the HP-UX compiler.
The HP-UX C/C++ compiler is currently at version A.06.27, last updated in 2012. Since the creation of version 6, it seems to only have had a few tweaks made to it. For example, it lacks many new C++ features.
Nevertheless, it has some useful warning options that can help with migrating code to 64-bit goodness.
A very simple example:
Interesting options that could help us
External links:
HP aC++/HP C Online Programmer's Guide
Command-Line Options
The HP-UX C/C++ compiler is currently at version A.06.27, last updated in 2012. Since the creation of version 6, it seems to only have had a few tweaks made to it. For example, it lacks many new C++ features.
Nevertheless, it has some useful warning options that can help with migrating code to 64-bit goodness.
Compiler versions
$ cc -V
cc: HP C/aC++ B3910B A.06.27 [May 22 2012]
$ aCC -V
aCC: HP C/aC++ B3910B A.06.27 [May 22 2012]A very simple example:
#include stdio.h #include stdlib.h #include string.h int main(int argc, char *argv[]) { int len; char str[] = "Hello world, is this string okay?"; len = strlen(str); printf("strlen is %d\n", strlen(str)); return 0; }
Interesting options that could help us
+w64bit - Enables warnings that help detection of potential problems in converting 32-bit applications to 64-bit
+wlint - Enables several warnings in the compiler that provide lint like functionality
+wperfadvice - Enables performance advisory messages.
+wsecurity - Enables compile-time diagnostics for potential security violations
+w - Warns about all questionable constructs
Some of these options are lint-like, some are useful performance tips, others help with code porting issues.
A normal compile gives no warning in the above example, but if we add these warning flags we get extra output:
$ cc strlen_example.c -o strlen_example +w64bit
"strlen_example.c", line 11: warning #4229-D: 64 bit migration: conversion
from "size_t" to "int" may truncate value
len = strlen(str);
^
more:
$ cc strlen_example.c -o strlen_example +w
"strlen_example.c", line 11: remark #4229-D: 64 bit migration: conversion from
"size_t" to "int" may truncate value
len = strlen(str);
^
"strlen_example.c", line 13: remark #2181-D: argument is incompatible with
corresponding format string conversion
printf("strlen is %d\n", strlen(str));
^
"strlen_example.c", line 8: remark #2550-D: variable "len" was set but never
used
int len;
^
Larger example output from some code that deals with large files:
"MyLargeFile.c", line 231: warning #4298-D: addition result could be truncated before cast to bigger sized type
"MyLargeFile.c", line 321: warning #4229-D: 64 bit migration: conversion from "size_t" to "int" may truncate value
"MyLargeFile.c", line 723: warning #4298-D: multiply result could be truncated before cast to bigger sized type
"MyLargeFile.c", line 3263: warning #4229-D: 64 bit migration: conversion from "unsigned long" to "unsigned int" may truncate value
"MyLargeFile.c", line 2423: warning #4229-D: 64 bit migration: conversion from "size_t" to "int" may truncate value
"MyLargeFile.c", line 3478: warning #4229-D: 64 bit migration: conversion from "unsigned long" to "int" may truncate value
"MyLargeFile.c", line 5134: warning #4229-D: 64 bit migration: conversion from "long" to "int" may truncate value
"MyLargeFile.c", line 5692: warning #4231-D: 64 bit migration: conversion between types of different sizes has occurred (from "int" to "void *" )
As you can see, the compiler can spot quite a few issues with this code that you might want to consider carefully when making a real 64-bit pure aware application.
External links:
HP aC++/HP C Online Programmer's Guide
Command-Line Options
Subscribe to:
Posts (Atom)