Search found 185 matches
- 2024-05-08, 5:15:22
- Forum: forwardcom forum
- Topic: Proposal for symbol lookup in the linker
- Replies: 21
- Views: 3627
Re: Proposal for symbol lookup in the linker
What can I say? You are repeating your argumenst. Do you want me to repeat my arguments too? We can never end the discussion this way. You believe that the amount of DLL code that is actually shared between multiple running applications in real-life situations is high. I believe it is low. Nobody kn...
- 2024-05-06, 5:35:10
- Forum: forwardcom forum
- Topic: Proposal for symbol lookup in the linker
- Replies: 21
- Views: 3627
Re: Proposal for symbol lookup in the linker
James wrote: It's frustratingly difficult to find any serious research comparing the two Yes indeed. you're still not acknowledging that static linking huge graphical libraries is unacceptable Graphics libraries are huge because they contain many functions. Each program probably uses only only a sma...
- 2024-05-05, 6:28:33
- Forum: forwardcom forum
- Topic: Proposal for symbol lookup in the linker
- Replies: 21
- Views: 3627
Re: Proposal for symbol lookup in the linker
James wrote: I see the need to take the static vs dynamic linking debate from the top. Thank you. the compiler should maintain a database of functions and choose whether or not to inline them Agree. No problem. Disk space we can perhaps disrespect, however space in the instruction cache is precious....
- 2024-05-04, 15:14:32
- Forum: forwardcom forum
- Topic: Proposal for symbol lookup in the linker
- Replies: 21
- Views: 3627
Re: Proposal for symbol lookup in the linker
I don't intend to be hostile. I just disagree. This project is intended to inspire discussions. The ForwardCom libraries already contains function modules with multiple entries. For example, the sin, cos, and tan functions are all in the same module and using the same code. I still believe that stat...
- 2024-05-04, 4:57:25
- Forum: forwardcom forum
- Topic: Proposal for symbol lookup in the linker
- Replies: 21
- Views: 3627
Re: Proposal for symbol lookup in the linker
Dynamic linking also leads to bloat. DLL's and .so's are often very big, while only a very small fraction of them are actually used by a typical program. Dynamic libraries in traditional systems are scattered around in memory. This leads to excessive load time for a program that uses many libraries,...
- 2024-05-03, 14:22:30
- Forum: forwardcom forum
- Topic: Proposal for symbol lookup in the linker
- Replies: 21
- Views: 3627
Re: Proposal for symbol lookup in the linker
A module is what comes from an object file. A library can contain multiple modules, each containing a function. Relinking is done statically, not dynamically. The executable file is relinked when one or more library functions need updates. The updated executable file is stored and used again and aga...
- 2024-05-03, 5:08:59
- Forum: forwardcom forum
- Topic: Proposal for symbol lookup in the linker
- Replies: 21
- Views: 3627
Re: Proposal for symbol lookup in the linker
James wrote `f = .. ; g = f ; h = f;` No problem. Each function is supposed to have its own module. The linker will load only the necessary modules. Do you mean g and h are aliases for f, or they are calling f? If they are aliases, they can be in the same module without any costs. If they are callin...
- 2024-02-17, 6:28:54
- Forum: forwardcom forum
- Topic: Fushed push with bounds check
- Replies: 3
- Views: 1004
Re: Fushed push with bounds check
The addressing mode with bounds check works only if the array size is fixed and known at compile time. The push instruction will signal an error if writing to inaccessible memory. The push instruction is already quite complex at the hardware level. Adding still more complexity might be critical. It ...
- 2024-01-31, 6:51:29
- Forum: forwardcom forum
- Topic: Proposal for symbol lookup in the linker
- Replies: 21
- Views: 3627
Re: Proposal for symbol lookup in the linker
You posted the same text twice, that's why I removed it.I don't know what happened with the "[redundant text removed]"
- 2024-01-30, 15:58:58
- Forum: forwardcom forum
- Topic: Proposal for symbol lookup in the linker
- Replies: 21
- Views: 3627
Re: Proposal for symbol lookup in the linker
Multi-entrypoint functions are possible in assembly code, but cannot be coded in high level language. They can be called from HLL code, though. I think you are asking for trouble if you want partially compatible libraries with multiple versions of the same function. ForwardCom tries to solve the pro...
- 2024-01-30, 14:11:52
- Forum: forwardcom forum
- Topic: Proposal for symbol lookup in the linker
- Replies: 21
- Views: 3627
Re: Proposal for symbol lookup in the linker
In my experience, dynamic linking is slow, not because of symbol lookup, but because the libraries are many and large. It is not uncommon for an application to load ten DLLs of 1 MB each, and use only 1 kB of each. It will load at least one memory page from each DLL, and usually more. This is a wast...
- 2024-01-29, 5:51:11
- Forum: forwardcom forum
- Topic: Proposal for symbol lookup in the linker
- Replies: 21
- Views: 3627
Re: Proposal for symbol lookup in the linker
Name hashing was actually used in the old OMF object file format used in DOS. This format was not very successful (mostly for other reasons). Some systems today use unsorted name tables, while ELF files often have both a sorted and an unsorted name table. ForwardCom is using sorted name tables and b...
- 2023-11-29, 5:57:43
- Forum: forwardcom forum
- Topic: Dot Product
- Replies: 5
- Views: 23856
Re: Dot Product
A cross product has 3 dimensions. It requires more permutations. Permutations and data movement across vector lanes are expensive in hardware. Therefore, I have no plans to implement an instruction with more dimensions than 2. Augmented multiplication is possible with FMA instructions: Y = a * b dY ...
- 2023-11-26, 8:21:43
- Forum: forwardcom forum
- Topic: SQRT or RSQRT - that is the question
- Replies: 1
- Views: 13655
Re: SQRT or RSQRT - that is the question
Existing instruction sets have several different instructions for fast reciprocal and fast rsqrt with different precisions. It will be a mess if different hardware implementations have different precision for the same instruction. Therefore, I think these have to be optional implementation-specific ...
- 2023-11-26, 8:09:03
- Forum: forwardcom forum
- Topic: Underflow/Overflow in mul_2pow
- Replies: 2
- Views: 14103
Re: Underflow/Overflow in mul_2pow
The main purpose of the mul_2pow instruction is to improve speed. x * 0.25 will take several clock cycles. With optimization on, the compiler or assembler can change x*0.25 to mul_2pow(x, -2) which takes only 1 clock cycle. It would be difficult to do this in a single clock cycle if you want underfl...
- 2023-11-26, 7:47:39
- Forum: forwardcom forum
- Topic: Rounding Mode
- Replies: 2
- Views: 14189
Re: Rounding Mode
I have added the rounding mode "odd if not exact" in the compress instruction because this is needed in a two step reduction: double precision -> single precision -> half precision. Other rounding modes can be added if they are needed. Do you have any good use cases for the rounding modes ...
- 2023-11-26, 7:33:52
- Forum: forwardcom forum
- Topic: Dot Product
- Replies: 5
- Views: 23856
Re: Dot Product
Damian, you need to use this instruction twice for a complex number multiplication or division. First, you calculate the real part of the product and place it in y0, where (y0,y1) is the result vector. Then you calculate the imaginary part and place it in y1, while retaining y0 by using (c0,c1) = (y...
- 2023-07-27, 5:11:22
- Forum: forwardcom forum
- Topic: First evidence of ForwardCom effectiveness
- Replies: 1
- Views: 16444
Re: First evidence of ForwardCom effectiveness
Congratulations with your thesis, Kulasko.
Officially, it is 'just' a bachelor thesis, but in reality it is the result of six years of work. A very impressive achievement!
Thank you for your work. I hope you will continue...
Officially, it is 'just' a bachelor thesis, but in reality it is the result of six years of work. A very impressive achievement!
Thank you for your work. I hope you will continue...
- 2023-03-18, 8:32:44
- Forum: forwardcom forum
- Topic: Should we build a ForwardCom organization?
- Replies: 1
- Views: 16006
Should we build a ForwardCom organization?
Do we need an organization to manage the ForwardCom project? Such an organization could help people get involved, organize online meetings and conferences, facilitate research projects, develop standards, etc. The idea of an organization came up as I was trying to find a solution to the problem of c...
- 2023-02-01, 5:57:39
- Forum: forwardcom forum
- Topic: Proposals for next version
- Replies: 16
- Views: 89416
Re: Proposals for next version
@Moonchild It is too complex for a single instruction. It requires many additions and horizontal data transfer across vector lanes. The latency would depend on the vector length. People could propose a zillion other functions that they would like to implement in hardware, including elementary mathem...
- 2023-01-31, 9:19:39
- Forum: forwardcom forum
- Topic: Proposals for next version
- Replies: 16
- Views: 89416
Re: Proposals for next version
@Moonchild:
Sum scan of an array is a complex instruction with long data-dependent latency. This would require microcode. ForwardCom avoids microcode.
Sum scan of an array is a complex instruction with long data-dependent latency. This would require microcode. ForwardCom avoids microcode.
- 2023-01-30, 6:53:28
- Forum: forwardcom forum
- Topic: Proposals for next version
- Replies: 16
- Views: 89416
Re: Proposals for next version
Good idea, Hubert I have thought about a cheaper solution, though less universal. ForwardCom is intended to avoid memory fragmentation. In small systems and embedded systems you may not need demand paged memory. If you don't have demand paging you don't need to be able to recover from memory access ...
- 2023-01-26, 13:38:46
- Forum: forwardcom forum
- Topic: Proposals for next version
- Replies: 16
- Views: 89416
Re: Proposals for next version
Moonchild wrote:
I don't understand what you mean. The manual explains how to make a horizontal vector sum.vector sum scan instruction
- 2023-01-26, 13:35:39
- Forum: forwardcom forum
- Topic: Bit addressing
- Replies: 8
- Views: 32657
Re: Bit addressing
Moonchild wrote:
There are instructions for set, clear, toggle, and test a single bit or multiple bits. There is bit scan, popcount, and bitfield manipulation. What else do you need?One-off bit operations
- 2023-01-24, 9:58:23
- Forum: forwardcom forum
- Topic: Softcore update
- Replies: 0
- Views: 24633
Softcore update
The FPGA softcore has now been developed to a stage where all integer instructions work. This includes complicated instructions such as: multiplication, multiplication high part, multiply and add, division with a choice of rounding modes, remainder, push/pop a sequence of registers with a choice of ...