octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 64-bit indexing version of Octave release


From: Kai Torben Ohlhus
Subject: Re: 64-bit indexing version of Octave release
Date: Fri, 10 Sep 2021 22:09:49 +0900
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0

Dear Norm,

You can see all build steps for the images in the respective Dockerfiles "build-octave-6.docker" -> "octave-6.docker".

64-bit modifications for

OpenBLAS:
https://github.com/gnu-octave/docker/blob/492683aaa4983043f54603aa69ffa9197db54190/build-octave-6.docker#L114-L115

SiteSparse:
https://github.com/gnu-octave/docker/blob/492683aaa4983043f54603aa69ffa9197db54190/build-octave-6.docker#L138-L139

ArpackNG:
https://github.com/gnu-octave/docker/blob/492683aaa4983043f54603aa69ffa9197db54190/build-octave-6.docker#L165

QRupdate:
https://github.com/gnu-octave/docker/blob/492683aaa4983043f54603aa69ffa9197db54190/build-octave-6.docker#L187

Octave:
https://github.com/gnu-octave/docker/blob/492683aaa4983043f54603aa69ffa9197db54190/octave-6.docker#L28-L30

Of course you can just apply those compilation steps from the Docker images to a custom self-compiled version of the libraries and Octave. This was my initial approach about 4 years ago:

  https://github.com/gnu-octave/GNU-Octave-enable-64
  (abandoned project)

From this project the Docker project evolved in the past two years. It is too difficult to compile Octave from scratch with all dependencies on every machine you like to use Octave. Needless to say explaining these compilation steps to a normal mortal Linux user :)

Docker (Podman/Singularity) they all work with those created images, hosted on DockerHub, have some limitations, but for me this is currently the only known working version for Linux to get the 64-bit libraries conveniently right.

Flatpack, Snap, etc. they all do not address this 64-bit library issue. And forked versions cannot be distributed as easily as Docker images.

Kai


On 9/10/21 7:31 AM, Dyer, Norman Jay wrote:
Hello Kai,
great news to hear of your work with octave in containers.  Thanks in advance. I have Singularity on Fedora 34 (linux kernel 5.12) on an HP Z820  with 32 cpu, 128 gb ram and 8T of SAS for purposes of handling large sparse arrays, which is beyond what the standard issue 32-bit indexing of Octave can handle -  BUT the modified-at-load-time 64-bit indexing option WILL handle. Referring to https://octave.org/doc/v4.0.0/Compiling-Octave-with-64_002dbit-Indexing.html <https://octave.org/doc/v4.0.0/Compiling-Octave-with-64_002dbit-Indexing.html> for clarification.
Note the load modifiers on 4 dependencies.
So, in your packaging / containers I'm looking for how those dependencies get set to 64-bit indexing  (what Octave identifies as -64-64  or  --enable-64). If you will confirm these tweeks, then I am ready and enthusiastic to get this container up and working. (I originally joined this group as a volunteer requirements writer, but most of that seems merely to be 'clone matlab functionality', so ...) .
Thanks for all,   Norm
GNU Octave: Compiling Octave with 64-bit Indexing <https://octave.org/doc/v4.0.0/Compiling-Octave-with-64_002dbit-Indexing.html> G.3 Compiling Octave with 64-bit Indexing. Note: the following only applies to systems that have 64-bit pointers. Configuring Octave with --enable-64 cannot magically make a 32-bit system have a 64-bit address space.. On 64-bit systems, Octave is limited to (approximately) the following array sizes when using the default 32-bit indexing mode:
octave.org


------------------------------------------------------------------------
*From:* Kai Torben Ohlhus <k.ohlhus@gmail.com>
*Sent:* Saturday, September 4, 2021 7:39 AM
*To:* Dyer, Norman Jay <ndyer1@uic.edu>
*Cc:* octave-maintainers@gnu.org <octave-maintainers@gnu.org>
*Subject:* Re: 64-bit indexing version of Octave release
Dear Norm,

An unexpected and welcome request 🙂  What links you to this mailing-list?

The most reliable approach to get Octave and the 64-bit indexing
(including all library dependencies) on Linux running is the
Docker-image I am using and maintaining.  Details are described here [1]
and here [2].

If you have either Singularity, Docker, or Podman installed, using the
installer script (please change the end of the command accordingly):

     /bin/bash -c "$(curl -fsSL
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fraw.githubusercontent.com%2Fgnu-octave%2Fdocker%2Fmain%2Finstall.sh&amp;data=04%7C01%7Cndyer1%40uic.edu%7C395da4220c034f2fa21008d96fa11cc5%7Ce202cd477a564baa99e3e3b71a7c77dd%7C0%7C0%7C637663560041449185%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cHVx9zN4llPaA0e2soTk4bQHal5YmJK19DsW4sTebdY%3D&amp;reserved=0 <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fraw.githubusercontent.com%2Fgnu-octave%2Fdocker%2Fmain%2Finstall.sh&amp;data=04%7C01%7Cndyer1%40uic.edu%7C395da4220c034f2fa21008d96fa11cc5%7Ce202cd477a564baa99e3e3b71a7c77dd%7C0%7C0%7C637663560041449185%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cHVx9zN4llPaA0e2soTk4bQHal5YmJK19DsW4sTebdY%3D&amp;reserved=0>)"
install -t singularity

Octave feels like installed via your systems package manager and works
for me like a charm 🙂

If you have any trouble, please open an issue on GitHub [3] or write me
again.

Best wishes,
Kai


On 9/4/21 9:04 PM, Dyer, Norman Jay wrote:
Dear Kai,
How about once in a while releasing a ready-made  64-bit indexing version?
I, for one ,have been waiting since 2008 for this.  Thank you much.
I've seen a windows release last year, but cannot find any linux releases.  I'm on red hat fedora, but could probably get an Ubuntu version to work. I've tried to follow the recipe for pre-load alterations, but some 2 dozen attempts always errored out.
Thanks for your consideration,
Norm


[1] https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgnu-octave%2Fdocker&amp;data=04%7C01%7Cndyer1%40uic.edu%7C395da4220c034f2fa21008d96fa11cc5%7Ce202cd477a564baa99e3e3b71a7c77dd%7C0%7C0%7C637663560041449185%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=Ni2YUC5q%2BmUZu4x4MSWKC9%2BL0Ym40xTXStkQ0snLQhs%3D&amp;reserved=0 <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgnu-octave%2Fdocker&amp;data=04%7C01%7Cndyer1%40uic.edu%7C395da4220c034f2fa21008d96fa11cc5%7Ce202cd477a564baa99e3e3b71a7c77dd%7C0%7C0%7C637663560041449185%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=Ni2YUC5q%2BmUZu4x4MSWKC9%2BL0Ym40xTXStkQ0snLQhs%3D&amp;reserved=0> [2] https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsiko1056.github.io%2Fblog%2F2021%2F06%2F10%2Foctave-docker.html&amp;data=04%7C01%7Cndyer1%40uic.edu%7C395da4220c034f2fa21008d96fa11cc5%7Ce202cd477a564baa99e3e3b71a7c77dd%7C0%7C0%7C637663560041449185%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=WIj1aEVjTEgl%2FpU4SzHPLVSJzmwSL1%2FXKbGdtWqTCPg%3D&amp;reserved=0 <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsiko1056.github.io%2Fblog%2F2021%2F06%2F10%2Foctave-docker.html&amp;data=04%7C01%7Cndyer1%40uic.edu%7C395da4220c034f2fa21008d96fa11cc5%7Ce202cd477a564baa99e3e3b71a7c77dd%7C0%7C0%7C637663560041449185%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=WIj1aEVjTEgl%2FpU4SzHPLVSJzmwSL1%2FXKbGdtWqTCPg%3D&amp;reserved=0> [3] https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgnu-octave%2Fdocker%2Fissues&amp;data=04%7C01%7Cndyer1%40uic.edu%7C395da4220c034f2fa21008d96fa11cc5%7Ce202cd477a564baa99e3e3b71a7c77dd%7C0%7C0%7C637663560041459177%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=YqQsrojBxLLQr%2F5mNBfVxE7ywwJyC77%2B5ojqofC52Ls%3D&amp;reserved=0 <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgnu-octave%2Fdocker%2Fissues&amp;data=04%7C01%7Cndyer1%40uic.edu%7C395da4220c034f2fa21008d96fa11cc5%7Ce202cd477a564baa99e3e3b71a7c77dd%7C0%7C0%7C637663560041459177%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=YqQsrojBxLLQr%2F5mNBfVxE7ywwJyC77%2B5ojqofC52Ls%3D&amp;reserved=0>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]