GALAHAD เป็นไลบรารีของแพ็คเกจ Fortran สมัยใหม่สำหรับการเพิ่มประสิทธิภาพแบบไม่เชิงเส้นด้วยอินเทอร์เฟซ C, Python, Julia และ MATLAB ประกอบด้วยแพ็คเกจสำหรับการเพิ่มประสิทธิภาพแบบมีข้อจำกัดและแบบไม่จำกัดทั่วไป การเขียนโปรแกรมเชิงเส้นและกำลังสอง การปรับกำลังสองน้อยที่สุดแบบไม่เชิงเส้นและการปรับให้เหมาะสมทั่วโลก รวมถึงแพ็คเกจสำหรับการแก้ปัญหาย่อยการเพิ่มประสิทธิภาพขั้นพื้นฐานที่หลากหลาย
ข้อมูลเพิ่มเติมเกี่ยวกับแพ็คเกจใน GALAHAD สามารถดูได้ที่ https://www.galahad.rl.ac.uk
แพ็คเกจ GALAHAD หลักทั้งหมดได้รับการบันทึกไว้ใน Fortran, C, Python และ Julia:
ไฟล์วิธีใช้สำหรับฟังก์ชัน MATLAB
เรามีไลบรารี GALAHAD ที่คอมไพล์ไว้แล้วในแท็บเผยแพร่สำหรับ Linux, macOS (Intel และ Silicon) และ Windows
GALAHAD สามารถติดตั้งได้จากแหล่งที่มาโดยใช้ระบบ Meson build (คำสั่งทั้งหมดด้านล่างจะต้องรันจากด้านบนของแผนผังต้นทาง):
meson setup builddir -Dtests=true
meson compile -C builddir
meson install -C builddir
meson test -C builddir
สำหรับตัวเลือก Meson ที่ครอบคลุมมากขึ้น ( -Doption=value
) รวมถึงวิธีระบุเส้นทางไปยังไลบรารีและแพ็คเกจต่างๆ โปรดดู meson_options.txt และ README.meson เรายกตัวอย่างตัวเลือก Meson ที่สำคัญที่สุดไว้ด้านล่าง
GALAHAD รองรับแพ็คเกจซอฟต์แวร์เสริมจำนวนมากเพื่อการทำงานที่ได้รับการปรับปรุง ที่สำคัญที่สุดคือ:
ตามค่าเริ่มต้น GALAHAD จะสร้างด้วย OpenBLAS หากสามารถระบุตำแหน่งได้ (ไม่เช่นนั้นคุณอาจต้องส่งเส้นทาง OpenBLAS ผ่านตัวเลือก libblas_path
และ liblapack_path
ไปยัง meson setup
) คุณอาจต้องการใช้ BLAS/LAPACK เฉพาะผู้จำหน่าย เช่นรายการใดรายการหนึ่งต่อไปนี้:
โปรดดู README.meson สำหรับคำแนะนำในการบอก Meson ว่าจะค้นหาการพึ่งพาเพิ่มเติมเหล่านี้ได้ที่ไหน
ตามค่าเริ่มต้น GALAHAD จะสร้างตัวแก้ปัญหาเชิงเส้น SSIDS ส่วนตัวแก้ปัญหาเชิงเส้นทางเลือกอื่นๆ ได้แก่:
โปรดดู README.meson สำหรับคำแนะนำในการบอก Meson ว่าจะค้นหาการพึ่งพาเพิ่มเติมเหล่านี้ได้ที่ไหน
GALAHAD สามารถใช้ปัญหาการทดสอบการปรับให้เหมาะสมจากชุดการทดสอบ CUTEst ตัวอย่างเช่น หากต้องการเชื่อมโยง GALAHAD ด้วย CUTEst ที่มีความแม่นยำสองเท่าที่คอมไพล์ด้วย gfortran บนเครื่อง Linux 64 บิต:
meson setup builddir -Dlibcutest_double_path=/path/to/CUTEst/objects/pc64.lnx.gfo/double/ -Dlibcutest_double_modules=/path/to/CUTEst/modules/pc64.lnx.gfo/double/ -Dsingle=false
meson compile -C builddir
meson install -C builddir
ในทำนองเดียวกัน เราสามารถเชื่อมโยง GALAHAD กับ CUTEst ที่มีความแม่นยำเพียงครั้งเดียว โปรดดูที่ meson_options.txt
ในการติดตั้งอินเทอร์เฟซ C โดยใช้ระบบ Meson build:
meson setup builddir -Dciface=true
meson compile -C builddir
meson install -C builddir
meson test -C builddir --suite=C
ในการติดตั้งอินเทอร์เฟซ Python โดยใช้ระบบ Meson build:
meson setup builddir -Dpythoniface=true -Dpython.install_env=auto
meson compile -C builddir
meson install -C builddir
meson test -C builddir --suite=Python
โปรดดู GALAHAD.jl และเอกสารที่เกี่ยวข้อง
โปรดดู README.matlab และคำแนะนำที่ให้ไว้
GALAHAD ยังสามารถติดตั้งผ่านคำสั่ง "make" โดยเป็นส่วนหนึ่งของระบบนิเวศการปรับให้เหมาะสม Optrove ซึ่งรวมถึง CUTEst, SIFDecode และ ARCHDefs สิ่งนี้มีข้อได้เปรียบในการจัดเตรียมสคริปต์เพื่อเรียกใช้ตัวอย่าง CUTEst โดยตรงจาก GALAHAD และอนุญาตการโทรจาก Matlab แต่ประสบปัญหาจากเวลาในการสร้างที่นานกว่ามาก
หากต้องการใช้ตัวแปรนี้ ให้ทำตามคำแนะนำในวิกิ GALAHAD