Daniel Krebs
c44aedd6a9
gpu: update to recent GDRcopy
2018-07-20 16:52:09 +02:00
Daniel Krebs
26abf44d2f
villas/memory: add sanity check to deny allocating zero-sized memory
2018-07-20 16:50:54 +02:00
Daniel Krebs
8a06e96e92
gpu: always allocate page-sized chunks, then use LinearAllocator
...
This was neccessary in order to make the memory available via GDRcopy
when multiple small allocations were made. cudaMalloc() would return
multiple memory chunks located in the same GPU page, which GDRcopy
pretty much dislikes (`gdrdrv:offset != 0 is not supported`).
As a side effect, this will keep the number of BAR-mappings done
via GDRcopy low, because they seem to be quite limited.
2018-07-20 16:46:55 +02:00
Daniel Krebs
375b6b5cd3
common/memory: let allocators own a memory block
...
This is useful when we sub-delegate management of a memory block
to another allocator.
2018-07-20 16:44:50 +02:00
Daniel Krebs
0cdc05c3d5
rtds2gpu: add struct for memory layout of rtds2gpu buffer
2018-07-11 16:06:48 +02:00
Daniel Krebs
98c98b6855
tests: add missing gpu kernels
2018-07-11 14:00:20 +02:00
63a1eb2f7f
remove some obsolete C code files
2018-06-25 17:22:31 +02:00
7409d2024d
add more copyright / license headers
2018-06-25 17:03:09 +02:00
acd9412f6e
add Daniel to README
2018-06-25 16:43:15 +02:00
9d57983934
added submodule to VILLASfpga-hardware repo
2018-06-25 16:38:48 +02:00
55c9131958
update Fedora version in Dockerfile
2018-06-25 16:01:54 +02:00
fb6a7178b7
add pcimem.c
2018-06-25 16:01:38 +02:00
7fd6599ea6
update copyright years
2018-06-25 15:33:14 +02:00
63e523de46
do not store bitstreams here
2018-06-25 15:27:06 +02:00
Daniel Krebs
d853d5e0d3
wip GPU RTT
2018-06-06 09:55:14 +02:00
Daniel Krebs
f7781d47af
tests/rtds2gpu: cleanup
2018-06-05 14:56:43 +02:00
Daniel Krebs
2a56f5ff13
tests/rtds2gpu: fix doorbell offset
2018-06-05 14:48:35 +02:00
Daniel Krebs
49f0c2e0c4
unit test RTT via CPU to/from RTDS works!
2018-06-04 19:06:36 +02:00
Daniel Krebs
92bfe849b4
ips/rtds2gpu: use new connect interface
2018-06-04 17:36:36 +02:00
Daniel Krebs
194c4e3eef
etc: update fpga.json with changes related to stream routing
2018-06-04 17:36:36 +02:00
Daniel Krebs
f413712b86
gpu2rtds: unit test working
2018-06-04 17:36:36 +02:00
Daniel Krebs
93fe1390d6
fix wrong usage of reinterpret_cast in ips and tests
2018-06-04 17:36:36 +02:00
Daniel Krebs
010e0c3681
hls: add base HLS IP and enable virtual multi-inheritance
...
Virtual inheritance is required because (for example) the Rtds2Gpu
IP inherits from Hls and IpNode who both inherit from IpCore.
2018-06-04 17:36:36 +02:00
Daniel Krebs
5c67dc3727
rtds2gpu: update vlnv to match v1.1 and adapt config to new bitstream
2018-06-04 17:36:15 +02:00
Daniel Krebs
28458fdf8a
update rtds2gpu HLS IP to v1.1
...
- better tested IP (testbenches)
- detect invalid frame sizes
- more status reporting
2018-06-04 17:36:15 +02:00
Daniel Krebs
bf286568dd
rtds2gpu IP works
2018-06-04 17:36:15 +02:00
Daniel Krebs
b03b94d754
ip-node: fix wrong cast and add more sanity checks
2018-06-04 17:31:25 +02:00
Daniel Krebs
47bd186f5e
ip-node: move stream graph to IpNode and add easy-to-use connect interface
2018-06-04 17:31:12 +02:00
Daniel Krebs
00fb0363dd
ips/switch: add more sanity checks for making connections
2018-06-04 17:30:11 +02:00
Daniel Krebs
e9add5d602
ips/dma: enable interrupts by default
2018-06-04 14:20:06 +02:00
Daniel Krebs
d19619fe1f
tests: cleanup CMakeLists.txt
2018-06-04 14:20:06 +02:00
Daniel Krebs
31c854f26f
src: add streamer application for RTDS
2018-06-04 14:20:06 +02:00
Daniel Krebs
7bffe82e0e
tests: add (dirty) RTDS test
2018-06-04 14:20:06 +02:00
Daniel Krebs
28143e7188
ips/rtds: add C++ version of RTDS IP
2018-06-04 14:20:06 +02:00
Daniel Krebs
a93278b74e
ips/dma: expose names of its treaming ports
2018-06-04 14:20:06 +02:00
Daniel Krebs
8e63785073
ips/dma: change interface, get byte count from {read,write}Complete()
2018-06-04 14:20:06 +02:00
Daniel Krebs
07137d73e6
lib/ip: extend dump by memory blocks
2018-06-04 14:20:06 +02:00
Daniel Krebs
fcfb3d8020
lib: change include path: must be <villas/...> now
2018-06-04 14:20:06 +02:00
Daniel Krebs
7479675361
ips/intc: remove unused code
2018-06-04 14:20:06 +02:00
Daniel Krebs
2e339b406d
lib/ips: add data fifo IP needed for stream routing
2018-06-04 14:20:06 +02:00
Daniel Krebs
a0c5acce4c
ip-node: implement connect interface and update AxiStreamSwitch implementation
2018-06-04 14:20:06 +02:00
Daniel Krebs
a1daf95202
lib/card: lookup IP by identifier
2018-06-04 14:20:06 +02:00
Daniel Krebs
967e39e36c
ip-node: add implementation of StreamGraph for automatic routing
2018-06-04 14:20:06 +02:00
Daniel Krebs
5f0d181a8e
gitignore: add some QtCreator project files
2018-06-04 14:20:06 +02:00
Daniel Krebs
ff20f624a6
thirdparty: add CLI11 and rang header-only libraries
2018-06-04 14:20:06 +02:00
Daniel Krebs
63df68480f
scripts/hwdef-parse: promote fifo to stream IP and populate all switch ports
2018-06-04 14:20:06 +02:00
Daniel Krebs
3a99bee400
scripts/non_root: also bind via pci BDF
...
Not sure if this is really needed though.
2018-06-04 13:24:57 +02:00
Daniel Krebs
5097827757
fix include paths, use <villas/...>
style
2018-06-04 13:24:57 +02:00
Daniel Krebs
c15189b74b
common/memory: implement freeing for LinearAllocator
...
This is still very simple. Only really free memory, when all allocation
have been deallocated so we only need to keep track of the current
number of allocations.
2018-05-16 11:27:03 +02:00
Daniel Krebs
d2384abb9d
cmake: only build GPU library if CUDA is present
2018-05-16 10:58:18 +02:00