Search found 41 matches
- 2018-06-07, 7:07:20
- Forum: forwardcom forum
- Topic: Forwardcom and caching models
- Replies: 15
- Views: 34997
Re: Forwardcom and caching models
Would forwardcom be fundamentally compatible with architectures like Rex Computing, which discards the traditional caching hierarchy in favor of a massive number of cores with 128 KB of scratchpad memory per core? http://rexcomputing.com/ That architecture reminds me a lot of the PS3's Cell process...
- 2018-05-19, 18:31:39
- Forum: forwardcom forum
- Topic: Forwardcom and caching models
- Replies: 15
- Views: 34997
Forwardcom and caching models
Hi Agner, Is forwardcom hooked to any particular caching model or hierarchy? I see references to an instruction cache and data cache, but not much else. Would forwardcom be fundamentally compatible with architectures like Rex Computing, which discards the traditional caching hierarchy in favor of a ...
- 2018-04-21, 0:07:10
- Forum: forwardcom forum
- Topic: One flexible register
- Replies: 1
- Views: 11010
One flexible register
Hi Agner – Is it possible to engineer one 1024- or 2048-bit register that could be almost infinitely subdivided by the programmer into whatever combination of 16, 32, 64, 80, 128, 256, etc. registers were optimal for the program? I don't know what a register fundamentally is as a physical or silicon...
- 2018-03-04, 7:03:58
- Forum: forwardcom forum
- Topic: Decimal floating point
- Replies: 3
- Views: 10995
Decimal floating point
Hi Agner – Have you considered instructions for decimal floating point? As you know, I really don't like binary floating point and the problems it causes, including those you listed in your last thread. Some interesting papers on hardware support for decimal floating point: Mike Cowlishaw got it int...
- 2018-02-23, 6:02:31
- Forum: forwardcom forum
- Topic: Different instruction sets on different cores
- Replies: 18
- Views: 33208
Re: Different instruction sets on different cores
Hubert wrote: Video games use TONS of floating point math ForwardCom has optional support for half precision floating point vectors. Do you think that video and sound applications can use half precision? Neural networks is another application for half precision. The operand type field in the instru...
- 2018-02-11, 8:11:33
- Forum: forwardcom forum
- Topic: Source code changes for Forwardcom compatibility
- Replies: 5
- Views: 11392
Re: Source code changes for Forwardcom compatibility
Agner, Have you given much thought to the changes needed to the C and C++ standard libraries. Would the musl C library be the best choice for ForwardCom initially, given that it's focused on statically linking? musl has a clean and standards-based compiler. A C++ compiler for ForwardCom is definitel...
- 2018-02-06, 10:04:24
- Forum: forwardcom forum
- Topic: Source code changes for Forwardcom compatibility
- Replies: 5
- Views: 11392
Re: Source code changes for Forwardcom compatibility
Certain things work differently in ForwardCom that programmers may consider: Everything should be position-independent. Initialized pointer tables are position-dependent on most platforms. The compiler will insert a piece of initialization code that converts relative pointers to absoluter pointers ...
- 2018-02-06, 9:45:27
- Forum: forwardcom forum
- Topic: Virtualization
- Replies: 3
- Views: 9609
Re: Virtualization
Hi Agner – I think virtualization support is de rigueur at this point. In many settings a server is practically defined as a computer that hosts multiple guest VMs. Bare metal server setups certainly exist, but they tend to be wasteful if running one or two applications on a legacy OS like Linux, Wi...
- 2018-02-03, 2:14:44
- Forum: forwardcom forum
- Topic: Different instruction sets on different cores
- Replies: 18
- Views: 33208
Re: Different instruction sets on different cores
I've never seen half-float being used. Not in game code, and not in sound applications (where 32bit float is very much the sweet spot). There's very little x86 support - only AVX conversion instructions to and from 32bit float vectors (vcvtps2ph and vcvtph2ps). There is no standard C/C++ type name ...
- 2018-02-02, 13:38:18
- Forum: forwardcom forum
- Topic: Different instruction sets on different cores
- Replies: 18
- Views: 33208
Re: Different instruction sets on different cores
64-bit is such a waste on phones and desktops – I think something like 40-bit registers and address space would be optimal for client devices 40-bit does sound interesting, and I can't really disagree with not needing any more, but I think in this day and age, not having 64-bit support may be a har...
- 2018-02-02, 13:18:11
- Forum: forwardcom forum
- Topic: Different instruction sets on different cores
- Replies: 18
- Views: 33208
Re: Different instruction sets on different cores
I'm not even sure that most programs use floating point math, for instance, so it's odd to have so much FP hardware and instruction support on every core. Video games use TONS of floating point math. Everything that is a 3d coordinate is going to have 32bit floating point XYZ. If your scene has 10 ...
- 2018-01-24, 1:48:44
- Forum: forwardcom forum
- Topic: Source code changes for Forwardcom compatibility
- Replies: 5
- Views: 11392
Source code changes for Forwardcom compatibility
Hi Agner – What sorts of changes will developers need to make to the source code of C and C++ programs in order to compile to a Forwardcom target, if any?
Joe
Joe
- 2018-01-24, 1:47:10
- Forum: forwardcom forum
- Topic: Virtualization
- Replies: 3
- Views: 9609
Virtualization
Hi Agner – I didn't see any treatment of virtualization in the specification. Does an ISA need to implement some things to optimize virtualization? Would these be instructions or something at a higher level of implementation? Intel and AMD tout lots of virtualization features, and instructions like ...
- 2018-01-22, 2:43:10
- Forum: forwardcom forum
- Topic: Different instruction sets on different cores
- Replies: 18
- Views: 33208
Re: Different instruction sets on different cores
A logarithmic number system is efficient as long as you are using it for multiplication only, but difficult if you want to do addition. You need no extra hardware for multiplying logarithmic numbers - this is simply addition of integers. Another possibility is to use standard floating point numbers...
- 2018-01-22, 2:36:11
- Forum: forwardcom forum
- Topic: Different instruction sets on different cores
- Replies: 18
- Views: 33208
Re: Different instruction sets on different cores
And if ForwardCom were to have AES and other crypto instructions, it seems like it would be fine to have them on just one core. There's no need to have that on every core – they won't be used. I would've thought that a very common application of crypto acceleration would be a multi-threaded HTTPS/V...
- 2017-12-19, 19:00:38
- Forum: forwardcom forum
- Topic: Different instruction sets on different cores
- Replies: 18
- Views: 33208
Different instruction sets on different cores
Hi Agner – Do we need every core to support the same registers and instructions? There is some evidence that a logarithmic number system would be more efficient than floating point for many workloads (https://en.wikipedia.org/wiki/Logarithmic_number_system). It would be nice to have floating point o...