I'm casting about a bit, exploring the AMD developer website. The various AMD math libraries look juicy, and well documented. So those look easy to use.
But I haven't yet found an assembler for the AMD processors. Is one available? Or, would I be biting off too much to chew? Perhaps writing assembly language for the Phenom processors would be too complex? <I dunno.>
Thanks for any advice you may give.
afaik you can use any x64 compatbile assembler (Netwide Assembler/nasm is quite good). According to my understanding of ASM you will have to optimize by yourself at assembly level -- at least I don't know any assembler that does bigger optimizations like a high-level language compiler does. But I'm no asm developer, I don't do much in assembly language
Originally posted by: bingo88 afaik you can use any x64 compatible assembler (Netwide Assembler/nasm is quite good).
Thanks bingo88. I will look into the Netwide Assembler.
Also, perhaps MS Visual Studio includes an x64 assembler I could consider. Though I presumed (perhaps incorrectly?) that the Visual Studio compiler/assembler would not be tuned specifically to AMD processors. I presumed I would need an assembler that included all the extra commands specific to AMD.
I am interested in hearing from experienced programmers about their recommendations for working with AMD processors. Is Visual Studio good enough?
Or, is the free software available on this website better; does it do better optimization? Is it easier to use? Is Linux painful to setup (with a dual boot) and use?
Thanks for your help.
If you are working on assembly level you will have to know all the instructions by yourself so there is no tuning by the assembler itself. Therefore it is independent of the CPU. But to achieve maximum performance you will have to code for a specific CPU and this could be quite different for another CPU! I can recommend having a look at the Performance Optimization Guide you could download from AMD's Devdoc section!
I am using Visual Studio on several AMD CPUs and I can't complain about performance so far. Probably it's still a bit away from what you could achieve with Intel CPU + Intel Compiler but the Intel Compiler isn't cheap (and the CPU either )
If you're a skilled assembly language programmer, you can do much performance tuning on assembly level anyway (i. e. write inline assembly routines in VC or write external libraries which contain your asm code).
Visual Studio Community 2015 is free (assuming you're not planning on making > $100K in revenue any time soon), and has good support for writing C programs. (Windows 10, however, is not free. I could refer you to someone who sold me a legitimate Windows 10 Pro x64 license key, which I installed using the Windows 10 media creation tool by Microsoft).
Visual Studio is the IDE I prefer to use, and lets you easily attach your debugger to a remote Linux virtual machine that runs on the same hardware architecture as yours. You do not need to dual boot.
If you choose Windows 10 and Visual Studio 2015, Hyper-V is built into Windows 10 Pro, but I prefer to use Oracle's latest VirtualBox release 5.0.4+ on Ubuntu's minimal ISO.
Look around developer.amd.com and you'll find multi-core support libraries for both Windows and Linux.