Am 01.03.21 um 17:07 schrieb Harry van der Wolf:
> Hi,
>
> I understand that ARM is different. That's also why I mentioned to not
> put too much effort into it.

It should not be too hard to get pv to run on ARM, the question is how *fast* I can make it. I can set up the compilation to not use Vc for the SIMD code, which makes everything standard C++11, with no hardware dependencies. If Vc can be used, this should make it faster.

> Yes, I'm willing to cooperate in porting to armhf for the raspberry pi'
> s. I also have another rpi4 which runs Ubuntu Mate 20.04 (currently),
> but my (headless) server is always on.
> But I use the other one for all kind of things, so helping to port pv
> could be another option.
I'll set up a branch called 'native' which will offer three targets:

- scalar version, not making an attempt at SIMD whatsoever
- vspline SIMD implementation, using vspline's SIMD emulation
- Vc SIMD implementation, attempting to use Vc on ARM.

All of the targets will be compiled with '--march=native', telling the compiler to compile for the ISA it's running on. The binaries will only run on the build machine or better. Then we can take it from there - especially the Vc target may not build without tweaking.

I'll get in touch once I have the branch set up, and you can pull the branch and see whether it compiles on your ARM machine.

> I have no idea though how much the "normal" ARM chips vary from the new
> Apple Intel M1. That might be a completely different beast (the 8-core
> is at least when it comes to performance).
> I read that Apple uses the same Rosetta (V2) for running Intel based
> programs on the new M1./(Just like 10-12 years ago when they switched
> from PowerPC to Intel to run PowerPC apps on Intel. I also guess the
> universal binaries will come to life again. At that time I took over
> from Ippei Ukai for building Hugin on Mac. A platform I left in 2012 or
> so for being too closed)./
> So maybe you do not have to port immediately,but can simply run your
> intel based MacOS version on the new M1' s.

No, let's give it a go. It's not much work on my side, a first try at your side takes a few minutes, and if it succeeds, we have an ARM port of pv to play with. I anticipate that the 'native' approach should even function on all platforms (including intel/AMD), but the resulting binaries will be hardware-dependent, this is why I went for automatic ISA detection in the intel/AMD version, to make it easier for users and packagers.

>
>
> On the RPi4 I also did the:
> git clone https://github.com/VcDevel/Vc.git
> cd Vc
> git checkout 1.4
> mkdir build
> cd build
> cmake -DCMAKE_CXX_COMPILER=clang++ -DBUILD_TESTING=0 ..
> make
> sudo make install
> And then tried to rebuild pv, but that doesn' t make a difference. The
> exact same error.

Wait for the new branch, hopefully the outcome will be better.

> ======================================
> With regard to Intel MacOS: I had just built multiblend for David on my
> old (by now terribly slow) 2008 MacBook Pro, so I tried the same for pv
> also using macports (as home brew does not have vigra and I want to
> keep it simple).
> (install macports using pkg)
> (from terminal do a: sudo port -v selfupdate)
>
> Getting dependencies:
> sudo port install sfml
> sudo port install exiv2
> sudo port install vigra -python38 -python39
> sudo port install Vc
> (This installs a whole lot of other dependencies as well. Note also the
> uppercase in Vc )
>
> Get and build pv:
> git clone https://bitbucket.org/kfj/pv
> cd pv
> git checkout mac
> git status (to check whether you have the mac branch)
> make
>
> It builds fine and I only did some viewing of images until now.

Thank you for confirmig a mac build! This is great, you're now only the third person I know of who's succeeded in building pv on a mac. I don't have a mac myself, so it's hard for me to code for it. Please note that the mac branch has not yet been updated to contain my new code, I'll do that soon-ish. Old macs are like old pcs, they won't have fast SIMD units. I routinely build on an old IBM Thinkpad R60e with a core2 Duo, to confirm that the code works on 32bit intel hardware with SSE only. It works, but it takes forever... My desktop is a Haswell core-i5, which has AVX2. This is where it starts being fun :D

Since you're the one who's building hugin on the mac, maybe you can give me a hint on how to write a 'port file' to provide a pv package for macports? Is that hard? And is it hard to provide a package which users can simply download from the app store? I proposed to bundle pv with hugin, because it would make a good addition to the suite, what do you say?

Kay

--
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
--- You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/hugin-ptx/d88e4cba-d832-d9ae-07c3-e045a32f6e0e%40yahoo.com.
  • [hugin-ptx] Im... 'kfj' via hugin and other free panoramic software
    • Re: [hugi... Harry van der Wolf
      • Re: [... 'Kay F. Jahnke' via hugin and other free panoramic software
        • R... Monkey
          • ... T. Modes
            • ... 'Kay F. Jahnke' via hugin and other free panoramic software
          • ... 'Kay F. Jahnke' via hugin and other free panoramic software
        • R... Harry van der Wolf
          • ... 'Kay F. Jahnke' via hugin and other free panoramic software
            • ... Harry van der Wolf
              • ... 'Kay F. Jahnke' via hugin and other free panoramic software
                • ... yuv
                • ... 'Kay F. Jahnke' via hugin and other free panoramic software
                • ... yuv
                • ... Monkey
                • ... 'Kay F. Jahnke' via hugin and other free panoramic software
                • ... Harry van der Wolf
                • ... Bruno Postle
                • ... 'Kay F. Jahnke' via hugin and other free panoramic software

Reply via email to