G-WAN for Rapsberry Pi3? - linux

This question is for the G-WAN development team.
I know that you've discontinued G-WAN 32-bit due to the very low demand of G-WAN for the Linux 32-bit platform.
But, with regard to both the worldwide success of the Rapsberry low cost computer and the very low footprint of the G-WAN web applicaton server, does the G-WAN folks plan to make a G-WAN release (for now, only in 32-bit but sooner than later for 64-bit for this computer) that could be used on the last Rapsberry Pi3 machine (using an ARM CPU) and running the Raspbian OS?
TIA for your (Gil) answer.

They are two incompatible platforms for the binary executable files so the fact that we discontinued the 32-bit release for x86 CPUs does not have relations with any release compiled for ARM CPUs, 32 or 64-bit.
G-WAN releases for other platforms than x86-AMD64 may come at a later stage but this greatly depends on business opportunities. For now a VHDL port is under progress.

Related

Linux porting for RISCV multicore processor

We are developing a multi-core processor with RISCV architecture.
We had already ported Linux for single-core RISCV processor and it is working on our own FPGA based board with busybox rootfs.
I want to port Linux for multi-core RISCV processor now.
My doubts are:
Whether the gnu-riscv-gcc toolchain available now supports multi-core?
Whether spike available now supports multi-core?
Should I make any change to the bbl bootloader (Berkely bootloader) to support multi-core?
What are the changes I should make for my single-core Linux kernel to support multi-core?
The current RISC-V ecosystem already supports SMP Linux.
No changes to the compiler are required for multicore.
Spike can simulate multicore when using the '-p' flag.
BBL supports multicore.
Before building linux, configure it to support SMP.
Any hiccups, are probably due to the toolchain out of sync with the newest privileged spec changes. Last Fall, users successfully built and ran multicore Linux on RISC-V.
This is all expected to work out of the box. My standard testing flow for Linux and QEMU pull requests is to boot a Fedora root filesystem on QEMU via Linux+BBL. Instructions can be found on the QEMU Wiki Article about RISC-V. This will boot in our "virt" board, which uses VirtIO based devices. These devices have standard upstream Linux drivers that are very well supported, so there isn't really any platform-level work to be done.
In addition to the standard VirtIO-based devices, SiFive has devices that are part of the Freedom SOC platform. If you platform differs significantly from SiFive's Freedom platform then you'll need some additional drivers in both Linux and BBL.
We maintain an out-of-tree version of the drivers we haven't cleaned up for upstream yet in freedom-u-sdk, which should give you a rough idea of how much work it is. Running make qemu in that repository will boot Linux on QEMU via BBL, and running make will show you how to flash an SD card image for the HiFive Unleashed board.

Can a device driver written in or compiled to LLVM IR?

The reason i am interested is that there is an everlasting problem with linux and proprietary drivers. Why hardware vendors do not ship their drivers in LLVM IR form?
You can write Linux device drivers in user mode code. I have seen demonstrations written in Python (handy for prototyping).
Presumably your idea is that hardware vendors could ship a LLVM IR driver, and then the driver would work with x86, ARM, or anything else? Most hardware vendors are not interested in niche-markets, and only want to support their hardware on particular platforms that they have tested on.
There is very rarely any interesting IPR in a driver (although there may well be in the library on top of the driver). If vendors wanted to support multiple platforms, they could just ship C code with instructions to build, and a restrictive (or even GPL) license.

cilk++ on linux system

I had some problems with a cilk++ program that works well on windows system but not on linux system:
on windows system, while increasing the number of threads the execution time decrease
but on linux system, while increasing the number of threads the execution time increase.
I used linux ubuntu 2.6.35-22-generic x86_64 GNU/Linux
I can't understand the source of the problem.So can someone help me please ?
Without sources, there's no way to know. There may be a resource that has a per-thread implementation on Windows and a shared implementation on Linux.
I'd recommend using a performance analyzer like Intel's VTune/Amplifier to figure out where your application is spending it's time.
- Barry Tannenbaum
Intel Cilk Plus Runtime Development

32 bit versus 64 bit machine for software development question

I am pricing a new software development machine and looking at the dell precision series.
When I get to this screen:
http://www.dell.com/content/topics/reftopic.aspx/pub/products/precn_kat?c=us&cs=555&l=en&s=biz&~section=T7400
The first choice is: Buy a Precision WorkStation T7400 32bit Now!
and the second choice is: Buy a Precision WorkStation T7400 64bit Now!
am I really at that point just deciding which software I want installed? or is there actually a different chipset depending on the choice.
I don't want to limit my options down the road by picking the wrong one - I can always upgrade the software - but I don't want to have to replace hardware.
BTW: This will be for SD of a Microsoft stack, asp.net, vs 2008, sql server etc and I would like to start using virtualization (probably from MS) with this machine purchase.
Both options give you the same choice of processors, they are all 64-bit capable. It's just a matter of whether a 32-bit or 64-bit version of the OS is preinstalled on it.
I would go with the 64-bit option simply because, in my experience, you can easily run both 32-bit and 64-bit VMs on a 64-bit platform, but are limited to 32-bit VMs on a 32-bit platform.
64-Bit, but just not XP64 (Which Dell offers as a downgrade). Driver situation is quite awful, and there are some incompatibilities in Software. If you need/want to stick to XP, go 32-Bit, if you want to use Vista or Windows Server 2008, 64-Bit is fine.
The only difference is the operating system anyway, so you can freely switch between installing 32 or 64 Bit Windows, you may just need to buy another License.
100% 64bit. RAM is cheap and you'll eventually want to use more than 4GB of it, especially if you've going to be running virtual machines.
64bit all the way. Vista64 is mature at this point, I haven't run into any issues. If you need 32bit for any older peripherals you might have, install XP32 as a VM.
As far as I know you can't really buy a 32-bit PC nowadays. I think the OS is the only different between the 32bit and 64bit version.
For .NET development it doesn't matter whether you're using a 64-bit OS or not. However 64-bit SQL Server maybe running faster.
And you'll also need more than 4GB RAM (especially if you run virtual machines), so I don't really see any reason to choose a 32-bit OS over a 64-bit one.
I would go for 64bit with 64bit Operating System. Only problem i encountered so far is that 32bit apps cannot access 64-dlls -> For example the context menu of TotalCommander won't show 64bit apps (e.g subversion) which might be inconvenient for development.
It can be difficult to get 64bit drivers for exotic or very new hardware, so if that's a concern for you, you might want to stick to the 32bit OS.

Development PC: AMD vs Intel and 32-bit vs 64-bit

I am looking to purchase a new development PC. My budget is not more than $1,000 USD (including monitor). I am open to laptop (desktop replacement type) or the traditional desktop PC would do just fine.
My primary development environment will be Microsoft, Visual Studio 2008 (and support of older Visual Studio 6 code as well). SQL Server 2005, 2008 as well as legacy support of SQL Server 2000. Microsoft Office 2003, potential to install 2007 but support as far back as Office 2000. The software I will wrote and support will be Windows XP mostly, but some Vista. I am going to have to assume there are 64-bit implementations out there to install to.
My first confusion begins with choosing AMD or Intel. My concern is that there is a compatibility issue with building software using Visual Studio in an AMD environment. I dont have any evidence, its just a concern that hopefully someone will clear up for me.
Last, I am confused about 32-bit and 64-bit installations. Should I stick with the least common denominator (32-bit) even though 64-bit is steadily gaining ground? I am aware that the 64-bit operating systems will address over 4G of RAM and that I like because I would like to set up as many Virtual Machines for test environments as possible, and may have many active at once..
I am not looking for the dream machine, just a machine with a monitor and the best processor for about $1000 that will allow me to write software for the majority of machines out there.
There are some instruction level differences between AMD and Intel but nothing that Visual Studio is going to uncover. Perhaps if you were developing with Sun Studio you might run into them (I have!).
I would go for a 64 bit machine and run 32 bit VMs on it if you feel the need to do testing in that environment. The common feeling around here seems to be that the highest level of Vista you can afford is the platform on which to develop.
With 32-bit XP and Vista, you might not have access to much more than 3GB or RAM, but possibly quite less (My home machine could only access 2.25GB with Vista 32). If you can afford getting a machine with 4GB of RAM, I would recommend using Vista-64 (Home Premium or Ultimate).
Depending on what kind of development you are doing hard drive speed can make a big difference in compile times. Get 10,000 RPM hard drives if possible for a desktop machine and 7200 RPM drives for a laptop, but they do cost more.
AMD smoothed out their incompatibilities long ago. Your decision on that should simply be which brand you feel has better performance/features. I would definitely go with 64 bit because you can always emulate 32 bit for VM's and apps and so on. The ability to use extra memory will pay dividends later when you're just spending $100 for another 2-4 gigs instead of another $1000 to finally buy a 64 bit machine.
Given you're interested in running multiple VM's RAM is going to be key, as is the CPU.
Currently Intel are ahead on performance for dollar (especially if you are interested in overclocking) however AMD's options are acceptable and the batch of phenoms seem to be better at true quad core applications than the Intel quads.
The quality and speed of the RAM is largely unimportant. Generic DDRII 800mhz will be fine, just make sure you've got 4 or 8 GB of it.
In terms of operating systems, xp 64bit is fairly wanting on driver support even though it's been around for a while. Vista 64bit however has almost all the driver support of Vista 32bit. While this means that some of your older devices wont work, you should have much less hassles with Vista than XP. In terms of versioning, I recommend premium, however you'd need to look into the added feature list to determine if it's worth it or not (to me, it's not worth it at all).
In terms of issues that may occur due to specific processors? I agree with stimms that while there may be slight differences, it's not something you'd encounter in VS development. However my experience in that arena is by no means extensive.
If you look for a not-too-expensive dev machine, AMD should be better.
AMD 780G/790G mainboard has on-board integrated VGA, out-perform most nvidia/intel video integrated mainboard at a reasonable price. AMD Phenom CPU's performance is not as good as those of Intel. But considering you can get a AMD 3-core CPU at the price that Intel offers you only 2-core, it's a good deal.
Intel's CPU has great overclock potential. However as a developer, I suppose you like a solid-as-a-rock machine and not like to take risk geting a blue death screen while compiling your code.
Hardware virtualization is important if you like to paly with X64 virutal machine for testing. Most modern AMD CPUs have hardware virtualization feature built in, while Intel cut this feature from its low-end CPUs.
Get 4 gigs rams minimum equal that you need a system that can handle more than 3 gigs (so 64bits OS). Rams is cheap and IDE with all others software (debugging, testing, database client, etc) will require you some rams if you want something fast.
For the cpu, you can get a Quad Core for less than 190$, with a board that can handle it (about 125$) you have a strong start. You do not need to have the latest video card...
A lot of already build PC can be nice for you under your budget (under 720$). See this example:
Vista Home Premium 64-bit
320 gig hard drive
3 gig rams
GeForce 7100 graphics
22" Acer LCD included
Core 2 Duo E4700

Resources