On path to release

6 views
Skip to first unread message

Juan Jose Garcia-Ripoll

unread,
Mar 6, 2022, 2:01:17 PM3/6/22
to libt...@googlegroups.com
Just a brief recap. I have been working on bringing the library to work with more modern C++ standards. Having settled on C++14, I believe the work is almost complete.

- A lot of upgrades have taken place. Some have led to incompatible changes documented here https://github.com/juanjosegarciaripoll/tensor/blob/cmake/CHANGES.md

- The library now uses GitHub Actions for continuous integration building and testing. See https://github.com/juanjosegarciaripoll/tensor/actions

- The documentation also builds, but is missing some new functions and a more gentle introduction. I should fix this and ensure that the GitHub Actions also include a rule to build the Doxygen documentation.

Among the changes implemented, the most dramatic ones relate constructors and iteration.

- To support braced list initialization I have had to remove many constructor options, which are now available as static functions (e.g. Tensor::empty(dimensions) vs. Tensor(dimensions)).

- Tensor views now rely on references to tensors to ensure lifetime of the tensors they refer to. They also use a different type of iterators that is not polymorphic, because this enables optimizing certain cases, such as when copying columns (Tensor A = B(range(_), range(13)) where data is contiguous. Performance wise, we seem to be on-par with Numpy on this front, and slightly better for smaller tensors.

It still remains the problem that neither vcpkg nor the Arpack developers have accepted my patches to build arpack in Microsoft Visual C and properly register the library's dependencies. 

On the Arpack front the excuse is that there are rules that are broken on their CI/CD system and someone must fix them before pull requests are accepted. If anyone can help on this, you're welcome. However, given the situation, it seems I may have to find an alternative solution, such as FetchModule + own patches (although the vcpkg crowd argue that this goes against the sofware's license).

Cheers,

--
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain) 
http://juanjose.garciaripoll.googlepages.com

Ulf Lorenz

unread,
Mar 8, 2022, 4:56:09 PM3/8/22
to libt...@googlegroups.com
Hi,

I also finally got around to actually submit at least a couple of
smaller issues. I tried to be thorough, but it is daunting to keep up
with reviewing your commits. :)

I have another page of more issues to be raised, but these need a bit
more thinking on my side, and are more of the sort discussion points
that I would send as email. Nothing grand, though. One thing that I did
notice: Have you ever tried to compile the tensor library with gcc-11?
It seems as if the diagnostics there have improved considerably.


Ulf
Reply all
Reply to author
Forward
0 new messages