Open bjeurissen opened 3 years ago
The short story is that ./configure && ./build
will probably work out of the box on native M1 mac, but we might need some tweaks to the ./configure
infrastructure if we want to build the binaries on x86_64 (e.g. for binary releases; running CI for both arm64 and x86_64 is probably overkill, especially since none of the arm64 binaries will be able to run on x86_64 anyway).
Sure, happy to support. What did you need to modify to get it to build the M1 binaries anyway?
Add -target arm64-apple-macos11
to all clang++
calls.
You probably do that simply by setting CXX="clang++ -target arm64-apple-macos11"
before invoking ./configure
?
Actually, that likely won't work. Try this instead:
CFLAGS="-target arm64-apple-macos11" LINKFLAGS="$CFLAGS" ./configure
That was exactly what I first attempted, but the problem is that you cannot use ./configure
for cross-compilation, currently, as all the attempts to execute ./a.out
will not work, as those binaries will not match the host architecture. So it would require removing all those run-time checks and also change the mechanism to obtain the version numbers of the dependencies.
What I have done for now is generate the config file for a native x86_64 build and then patch the config file to add -target arm64-apple-macos11
to the correct FLAGS for an arm64 build.
OK, gotcha. Should be simple to add an environment variable to add the flags immediately prior to writing out the config. Something like CROSS_TARGET=arm64-apple-macos11
?
That could work. One caveat are the binaries of the dependencies. For ./configure to succeed, you would need access to the x86_64 binaries for Qt etc, and they would then have to be swapped by the arm64 ones before the ./build stage, or they would have to be in separate directories, but then we also have to modify the config script to reflect that. Anyway, it would still be a bit of a mess, so maybe making the runtime parts of the configure script optional, could be a simpler method after all...
We could I guess skip a lot of the runtime checks, but certainly not all. We'll still need to run pkg-config
to get compile & link flags (though that might not need to change), and to run qmake
to get compile & link flags for Qt. I'm guessing what you have in mind is to disable all checks that execute a freshly compiled binary, but preserve all others? If so, that might work. Simplest then would be to add an option to ignore run failures in the compile()
call around its final execute()
call, either by returning before that point, or by catching its RunError
exception and preventing it from propagating down the stack. I think that would cover all relevant cases...
My M1 Macbook arrived today! The cross-compiled arm64 binaries as well as the original x86_64 binaries appear to work just fine on arm64.
arm64 binary on arm64:
% file $(which dwi2fod) && time dwi2fod msmt_csd -mask mask.mif dwi.mif csf.txt csf.mif gm.txt gm.mif wm.txt wm.mif
/usr/local/bin/dwi2fod: Mach-O 64-bit executable arm64
dwi2fod: [100%] performing MSMT CSD (4 shells, 3 tissues)
604.96s user 1.04s system 784% cpu 1:17.21 total
x86_64 binary on arm64:
% file $(which dwi2fod) && time dwi2fod msmt_csd -mask mask.mif dwi.mif csf.txt csf.mif gm.txt gm.mif wm.txt wm.mif
/usr/local/bin/dwi2fod: Mach-O 64-bit executable x86_64
dwi2fod: [100%] performing MSMT CSD (4 shells, 3 tissues)
784.28s user 1.72s system 776% cpu 1:41.23 total
For reference, dwi.mif and mask.mif are taken from the preprocessed single subject Siemens data on osf.
For reference, a full release build of mrtrix3 on the Apple M1 took 214 seconds (not including ./configure).
mrview crashes when loading a tractogram with {20,50,100}K tracks (10K works fine) :(
Process: mrview [38290]
Path: /usr/local/mrtrix3/bin/MRView.app/Contents/MacOS/mrview
Identifier: org.mrtrix.mrview
Version: 3.0 (3.0)
Code Type: ARM-64 (Native)
Parent Process: ??? [1]
Responsible: mrview [38290]
User ID: 501
Date/Time: 2021-01-04 21:15:19.185 +0100
OS Version: macOS 11.1 (20C69)
Report Version: 12
Anonymous UUID: 8F2C3F46-BAA8-4204-B601-1CE481AE38D7
Sleep/Wake UUID: F66D5834-643F-46A4-BD33-428882E9739C
Time Awake Since Boot: 20000 seconds
Time Since Wake: 960 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Application Specific Information:
abort() called
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00000001952b3cec __pthread_kill + 8
1 libsystem_pthread.dylib 0x00000001952e4c24 pthread_kill + 292
2 libsystem_c.dylib 0x000000019522c864 abort + 104
3 com.apple.IOGPU 0x00000001ac6792b8 ioGPUResourceListAddNewGroupAndResource + 228
4 com.apple.AGXMetal13-3 0x0000000115b776d4 0x115700000 + 4683476
5 com.apple.AGXMetal13-3 0x0000000115b76cc4 0x115700000 + 4680900
6 com.apple.AGXMetal13-3 0x0000000115b768b8 0x115700000 + 4679864
7 com.apple.AppleMetalOpenGLRenderer 0x000000011520750c gldRenderVertexArray(GLDContextRec*, unsigned int, unsigned int, int, int, unsigned int, void const*, int, void const*) + 14828
8 GLEngine 0x00000001d7c86154 glMultiDrawArrays_GL3Exec + 332
9 org.mrtrix.mrview 0x0000000102dc5c24 MR::GUI::MRView::Tool::Tractogram::render_streamlines() + 180
10 org.mrtrix.mrview 0x0000000102dc5ad0 MR::GUI::MRView::Tool::Tractogram::render(MR::GUI::Projection const&) + 1892
11 org.mrtrix.mrview 0x0000000102d4af94 MR::GUI::MRView::Tool::Tractography::draw(MR::GUI::Projection const&, bool, int, int) + 224
12 org.mrtrix.mrview 0x0000000102de59cc MR::GUI::MRView::Mode::Base::render_tools(MR::GUI::Projection const&, bool, int, int) + 348
13 org.mrtrix.mrview 0x0000000102e29444 MR::GUI::MRView::Mode::Slice::draw_plane_primitive(int, MR::GUI::MRView::Displayable::Shader&, MR::GUI::Projection&) + 316
14 org.mrtrix.mrview 0x0000000102e29204 MR::GUI::MRView::Mode::Slice::paint(MR::GUI::Projection&) + 176
15 org.mrtrix.mrview 0x0000000102e19dd0 MR::GUI::MRView::Mode::Base::paintGL() + 420
16 org.mrtrix.mrview 0x0000000102de97a4 MR::GUI::MRView::Window::paintGL() + 140
17 libQt5Widgets.5.15.2.dylib 0x00000001034d5eb0 0x10346c000 + 433840
18 libQt5Widgets.5.15.2.dylib 0x00000001034b2728 QWidget::event(QEvent*) + 128
19 libQt5Widgets.5.15.2.dylib 0x000000010347d4b0 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 292
20 libQt5Widgets.5.15.2.dylib 0x000000010347e844 QApplication::notify(QObject*, QEvent*) + 556
21 libQt5Core.5.15.2.dylib 0x000000010425c8d0 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 208
22 libQt5Widgets.5.15.2.dylib 0x00000001034acc20 QWidgetPrivate::sendPaintEvent(QRegion const&) + 44
23 libQt5Widgets.5.15.2.dylib 0x00000001034d6774 QOpenGLWidget::resizeEvent(QResizeEvent*) + 172
24 libQt5Widgets.5.15.2.dylib 0x00000001034b2a84 QWidget::event(QEvent*) + 988
25 libQt5Widgets.5.15.2.dylib 0x000000010347d4b0 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 292
26 libQt5Widgets.5.15.2.dylib 0x000000010347e844 QApplication::notify(QObject*, QEvent*) + 556
27 libQt5Core.5.15.2.dylib 0x000000010425c8d0 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 208
28 libQt5Widgets.5.15.2.dylib 0x00000001034afd2c QWidgetPrivate::setGeometry_sys(int, int, int, int, bool) + 1836
29 libQt5Widgets.5.15.2.dylib 0x00000001034aff8c QWidget::setGeometry(QRect const&) + 232
30 libQt5Widgets.5.15.2.dylib 0x00000001034b983c QWidget::qt_metacall(QMetaObject::Call, int, void**) + 96
31 libQt5Widgets.5.15.2.dylib 0x00000001034d6e48 QOpenGLWidget::qt_metacall(QMetaObject::Call, int, void**) + 32
32 libQt5Core.5.15.2.dylib 0x000000010409531c 0x104088000 + 54044
33 libQt5Core.5.15.2.dylib 0x000000010409219c 0x104088000 + 41372
34 libQt5Core.5.15.2.dylib 0x00000001040920c0 0x104088000 + 41152
35 libQt5Core.5.15.2.dylib 0x0000000104095be8 QPropertyAnimation::updateState(QAbstractAnimation::State, QAbstractAnimation::State) + 796
36 libQt5Core.5.15.2.dylib 0x000000010409003c 0x104088000 + 32828
37 libQt5Widgets.5.15.2.dylib 0x000000010354bfe4 0x10346c000 + 917476
38 libQt5Widgets.5.15.2.dylib 0x0000000103589f28 0x10346c000 + 1171240
39 libQt5Widgets.5.15.2.dylib 0x00000001035b4308 0x10346c000 + 1344264
40 libQt5Widgets.5.15.2.dylib 0x00000001035b3a84 0x10346c000 + 1342084
41 libQt5Widgets.5.15.2.dylib 0x00000001034970d0 QLayoutPrivate::doResize() + 164
42 libQt5Widgets.5.15.2.dylib 0x0000000103497598 QLayout::activate() + 840
43 libQt5Widgets.5.15.2.dylib 0x00000001034b245c QWidgetPrivate::setVisible(bool) + 568
44 org.mrtrix.mrview 0x0000000102d2b474 MR::GUI::MRView::Tool::TrackScalarFileOptions::update_UI() + 56
45 org.mrtrix.mrview 0x0000000102d4c8c4 MR::GUI::MRView::Tool::Tractography::update_scalar_options() + 192
46 org.mrtrix.mrview 0x0000000102d4debc MR::GUI::MRView::Tool::Tractography::selection_changed_slot(QItemSelection const&, QItemSelection const&) + 48
47 libQt5Core.5.15.2.dylib 0x000000010428cc68 0x104088000 + 2116712
48 libQt5Core.5.15.2.dylib 0x0000000104224054 QItemSelectionModel::emitSelectionChanged(QItemSelection const&, QItemSelection const&) + 284
49 libQt5Core.5.15.2.dylib 0x0000000104223d2c QItemSelectionModel::select(QItemSelection const&, QFlags<QItemSelectionModel::SelectionFlag>) + 704
50 libQt5Core.5.15.2.dylib 0x0000000104223a38 QItemSelectionModel::select(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) + 72
51 libQt5Core.5.15.2.dylib 0x0000000104224aa0 QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) + 212
52 libQt5Widgets.5.15.2.dylib 0x00000001036be0cc QAbstractItemView::setCurrentIndex(QModelIndex const&) + 160
53 org.mrtrix.mrview 0x0000000102d4b3ac MR::GUI::MRView::Tool::Tractography::add_tractogram(MR::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, 0>&) + 144
54 org.mrtrix.mrview 0x0000000102d4b25c MR::GUI::MRView::Tool::Tractography::tractogram_open_slot() + 164
55 libQt5Core.5.15.2.dylib 0x000000010428cc68 0x104088000 + 2116712
56 libQt5Widgets.5.15.2.dylib 0x000000010354d884 0x10346c000 + 923780
57 libQt5Widgets.5.15.2.dylib 0x000000010354d6ec 0x10346c000 + 923372
58 libQt5Widgets.5.15.2.dylib 0x000000010354e6dc QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 256
59 libQt5Widgets.5.15.2.dylib 0x00000001034b2728 QWidget::event(QEvent*) + 128
60 libQt5Widgets.5.15.2.dylib 0x000000010347d4b0 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 292
61 libQt5Widgets.5.15.2.dylib 0x000000010347fdec QApplication::notify(QObject*, QEvent*) + 6100
62 libQt5Core.5.15.2.dylib 0x000000010425c8d0 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 208
63 libQt5Widgets.5.15.2.dylib 0x000000010347de28 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) + 988
64 libQt5Widgets.5.15.2.dylib 0x00000001034d0038 0x10346c000 + 409656
65 libQt5Widgets.5.15.2.dylib 0x00000001034cf058 0x10346c000 + 405592
66 libQt5Widgets.5.15.2.dylib 0x000000010347d4b0 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 292
67 libQt5Widgets.5.15.2.dylib 0x000000010347e844 QApplication::notify(QObject*, QEvent*) + 556
68 libQt5Core.5.15.2.dylib 0x000000010425c8d0 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 208
69 libQt5Gui.5.15.2.dylib 0x0000000103a1b89c QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 2808
70 libQt5Gui.5.15.2.dylib 0x0000000103a018ec QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 248
71 libqcocoa.dylib 0x00000001063f3ab4 0x1063bc000 + 228020
72 com.apple.CoreFoundation 0x00000001953dfc14 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
73 com.apple.CoreFoundation 0x00000001953dfb60 __CFRunLoopDoSource0 + 208
74 com.apple.CoreFoundation 0x00000001953df84c __CFRunLoopDoSources0 + 268
75 com.apple.CoreFoundation 0x00000001953de1e4 __CFRunLoopRun + 824
76 com.apple.CoreFoundation 0x00000001953dd740 CFRunLoopRunSpecific + 600
77 com.apple.HIToolbox 0x000000019cefa678 RunCurrentEventLoopInMode + 292
78 com.apple.HIToolbox 0x000000019cefa338 ReceiveNextEventCommon + 320
79 com.apple.HIToolbox 0x000000019cefa1d8 _BlockUntilNextEventMatchingListInModeWithFilter + 76
80 com.apple.AppKit 0x0000000197bb5da4 _DPSNextEvent + 868
81 com.apple.AppKit 0x0000000197bb4724 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1312
82 com.apple.AppKit 0x0000000197ba660c -[NSApplication run] + 600
83 libqcocoa.dylib 0x00000001063f280c 0x1063bc000 + 223244
84 libQt5Core.5.15.2.dylib 0x0000000104258898 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 524
85 libQt5Core.5.15.2.dylib 0x000000010425cf00 QCoreApplication::exec() + 132
86 org.mrtrix.mrview 0x0000000102e710b4 run() + 72
87 org.mrtrix.mrview 0x0000000102e70de0 main + 80
88 libdyld.dylib 0x0000000195300f34 start + 4
Thread 1:
0 libsystem_pthread.dylib 0x00000001952dfd8c start_wqthread + 0
Thread 2:: com.apple.CFSocket.private
0 libsystem_kernel.dylib 0x00000001952b60e8 __select + 8
1 com.apple.CoreFoundation 0x0000000195409278 __CFSocketManager + 636
2 libsystem_pthread.dylib 0x00000001952e506c _pthread_start + 320
3 libsystem_pthread.dylib 0x00000001952dfda0 thread_start + 8
Thread 3:: com.apple.NSEventThread
0 libsystem_kernel.dylib 0x00000001952abce8 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x00000001952ac098 mach_msg + 76
2 com.apple.CoreFoundation 0x00000001953dfe98 __CFRunLoopServiceMachPort + 380
3 com.apple.CoreFoundation 0x00000001953de36c __CFRunLoopRun + 1216
4 com.apple.CoreFoundation 0x00000001953dd740 CFRunLoopRunSpecific + 600
5 com.apple.AppKit 0x0000000197d35ddc _NSEventThread + 216
6 libsystem_pthread.dylib 0x00000001952e506c _pthread_start + 320
7 libsystem_pthread.dylib 0x00000001952dfda0 thread_start + 8
Thread 4:
0 libsystem_pthread.dylib 0x00000001952dfd8c start_wqthread + 0
Thread 5:
0 libsystem_pthread.dylib 0x00000001952dfd8c start_wqthread + 0
Thread 6:
0 libsystem_pthread.dylib 0x00000001952dfd8c start_wqthread + 0
Thread 7:
0 libsystem_pthread.dylib 0x00000001952dfd8c start_wqthread + 0
Thread 8:
0 libsystem_pthread.dylib 0x00000001952dfd8c start_wqthread + 0
Thread 9:
0 libsystem_pthread.dylib 0x00000001952dfd8c start_wqthread + 0
Thread 10:
0 libsystem_pthread.dylib 0x00000001952dfd8c start_wqthread + 0
Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x0000000000000000
x4: 0x0000000000000000 x5: 0x0000000000000000 x6: 0x0000000000000003 x7: 0x0000000000000000
x8: 0x00000000000005b9 x9: 0x1741a950321c778d x10: 0x0000000000020e5e x11: 0x000000000000005e
x12: 0x00000002a7eb5524 x13: 0x0000000000000053 x14: 0x00000002a7eb74e4 x15: 0x0000000000000053
x16: 0x0000000000000148 x17: 0x00000001faccf0b0 x18: 0x0000000130033940 x19: 0x0000000000000006
x20: 0x000000010341fd40 x21: 0x0000000000000303 x22: 0x000000010341fe20 x23: 0x0000000000000003
x24: 0x0000000118170228 x25: 0x0000000000000018 x26: 0x0000000000000003 x27: 0x0000000126076ad8
x28: 0x0000000000000040 fp: 0x000000016d0e28c0 lr: 0x00000001952e4c24
sp: 0x000000016d0e28a0 pc: 0x00000001952b3cec cpsr: 0x40000000
far: 0x00000002ba7b8000 esr: 0x56000080
Binary Images:
0x102d18000 - 0x102f43fff +org.mrtrix.mrview (3.0 - 3.0) <8FAB01DA-23AC-3313-A84A-65B2AD28C4B8> /usr/local/mrtrix3/bin/MRView.app/Contents/MacOS/mrview
0x103010000 - 0x1031cbfff +libmrtrix.dylib (0) <46BB85B9-310A-3184-91DF-85AF5322248C> /usr/local/mrtrix3/lib/libmrtrix.dylib
0x103254000 - 0x103287fff +libQt5OpenGL.5.15.2.dylib (0) <0A0C8E65-1322-3B63-8AE2-2315F15DA105> /usr/local/mrtrix3/lib/libQt5OpenGL.5.15.2.dylib
0x1032b8000 - 0x1032ebfff +libQt5Svg.5.15.2.dylib (0) <D0F2F9FE-79A1-3001-832A-41FCCF752468> /usr/local/mrtrix3/lib/libQt5Svg.5.15.2.dylib
0x103368000 - 0x1033e3fff dyld (832.7.1) <B7DB9E8A-A898-3C11-91A0-2B0264F05CB6> /usr/lib/dyld
0x10346c000 - 0x103877fff +libQt5Widgets.5.15.2.dylib (0) <74D1E273-B064-3ED3-8840-F43818934790> /usr/local/mrtrix3/lib/libQt5Widgets.5.15.2.dylib
0x1039ec000 - 0x103e07fff +libQt5Gui.5.15.2.dylib (0) <BCFAC221-B860-38BD-862E-F47564CD3DBF> /usr/local/mrtrix3/lib/libQt5Gui.5.15.2.dylib
0x103f28000 - 0x10402ffff +libQt5Network.5.15.2.dylib (0) <B5C6BDE1-DB09-3DE3-95FD-EA5A22A14AAC> /usr/local/mrtrix3/lib/libQt5Network.5.15.2.dylib
0x104088000 - 0x10455ffff +libQt5Core.5.15.2.dylib (0) <BCBC1979-16E9-30E1-832C-F9959A60B2AE> /usr/local/mrtrix3/lib/libQt5Core.5.15.2.dylib
0x1063bc000 - 0x10645ffff +libqcocoa.dylib (0) <69A692C0-A8E6-3DAD-A09B-31EE4A379B70> /usr/local/mrtrix3/bin/plugins/platforms/libqcocoa.dylib
0x1064ac000 - 0x1064d7fff +libQt5PrintSupport.5.15.2.dylib (0) <F16D30FF-2366-3D65-ADC5-D4FE8A0100E5> /usr/local/mrtrix3/lib/libQt5PrintSupport.5.15.2.dylib
0x10777c000 - 0x107787fff libobjc-trampolines.dylib (818.2) <10840110-16BD-3EB2-B9CF-CCAB42259740> /usr/lib/libobjc-trampolines.dylib
0x107ed0000 - 0x107ed7fff +libqsvg.dylib (0) <0994983C-0EBD-3901-8D34-97483BE40D65> /usr/local/mrtrix3/bin/plugins/imageformats/libqsvg.dylib
0x1151c4000 - 0x115223fff com.apple.AppleMetalOpenGLRenderer (1.0 - 1) <C9A177DA-65BC-31AD-8685-E5A974975291> /System/Library/Extensions/AppleMetalOpenGLRenderer.bundle/Contents/MacOS/AppleMetalOpenGLRenderer
0x115700000 - 0x115bfffff com.apple.AGXMetal13-3 (172.20.14 - 172.20.14) <1352B37A-9D23-3610-BDEE-C054980814BD> /System/Library/Extensions/AGXMetal13_3.bundle/Contents/MacOS/AGXMetal13_3
0x195042000 - 0x195043fff libsystem_blocks.dylib (78) <D3998C8A-7A1C-3962-822C-91DFC11ACBF7> /usr/lib/system/libsystem_blocks.dylib
0x195044000 - 0x19507bfff libxpc.dylib (2038.40.38) <D87D7BAA-9E73-3A84-8247-3456B703C302> /usr/lib/system/libxpc.dylib
0x19507c000 - 0x195093fff libsystem_trace.dylib (1277.50.1) <D67123A1-A8BC-329C-BC76-830E95EBA1B3> /usr/lib/system/libsystem_trace.dylib
0x195094000 - 0x195107fff libcorecrypto.dylib (1000.60.19) <D6B8B5AA-56DF-3E47-A778-007A7AA81372> /usr/lib/system/libcorecrypto.dylib
0x195108000 - 0x195133fff libsystem_malloc.dylib (317.40.8) <E47334AF-7E46-3FAE-B71C-9D9B4F1DF1DE> /usr/lib/system/libsystem_malloc.dylib
0x195134000 - 0x195177fff libdispatch.dylib (1271.40.12) <68CAA910-6621-32A1-95AE-40594BA75013> /usr/lib/system/libdispatch.dylib
0x195178000 - 0x1951b0fff libobjc.A.dylib (818.2) <A4BC7D83-2CA5-32B1-B1CA-1D1431C04916> /usr/lib/libobjc.A.dylib
0x1951b1000 - 0x1951b3fff libsystem_featureflags.dylib (28.60.1) <790541FA-8846-39B1-B87F-BCB1C87A6A27> /usr/lib/system/libsystem_featureflags.dylib
0x1951b4000 - 0x195234fff libsystem_c.dylib (1439.40.11) <4A324485-84D9-318F-8267-70FF10504289> /usr/lib/system/libsystem_c.dylib
0x195235000 - 0x195290fff libc++.1.dylib (904.4) <28BA0783-4F54-33EB-8DC0-DC23CD3BC576> /usr/lib/libc++.1.dylib
0x195291000 - 0x1952aafff libc++abi.dylib (904.4) <9291CD18-15AA-33CB-96FD-C5CB7F500470> /usr/lib/libc++abi.dylib
0x1952ab000 - 0x1952ddfff libsystem_kernel.dylib (7195.60.75) <35BFD663-2C38-3E0F-A35E-8C1BC6400898> /usr/lib/system/libsystem_kernel.dylib
0x1952de000 - 0x1952e9fff libsystem_pthread.dylib (454.60.1) <EDB716F3-BF94-3941-B7DA-D6C91094C645> /usr/lib/system/libsystem_pthread.dylib
0x1952ea000 - 0x195328fff libdyld.dylib (832.7.1) <87B502C5-584E-381A-8C99-6105402B8A6E> /usr/lib/system/libdyld.dylib
0x195329000 - 0x19532ffff libsystem_platform.dylib (254.60.1) <089E074F-F575-3853-B081-B3B0A23FDA61> /usr/lib/system/libsystem_platform.dylib
0x195330000 - 0x19535bfff libsystem_info.dylib (542.40.3) <CFE4640F-4E04-3DC5-80F6-79E0BF7F4FAF> /usr/lib/system/libsystem_info.dylib
0x19535c000 - 0x195805fff com.apple.CoreFoundation (6.9 - 1770.300) <396F9604-7574-3C1B-ACA7-C7EB24FE3544> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x195806000 - 0x195a38fff com.apple.LaunchServices (1122.11 - 1122.11) <D9D92910-FF1A-3868-ABB6-C0E1A256A95B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
0x195a39000 - 0x195b11fff com.apple.gpusw.MetalTools (1.0 - 1) <93384C15-675B-3BB6-989E-A5C3450B9D64> /System/Library/PrivateFrameworks/MetalTools.framework/Versions/A/MetalTools
0x195b12000 - 0x195d6cfff libBLAS.dylib (1336.40.1) <7BF1EC0C-692E-3D4A-AD4E-0C8C29C4C178> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
0x195d6d000 - 0x195db7fff com.apple.Lexicon-framework (1.0 - 86.1) <38A45B37-F56D-3077-AE41-202435470BD0> /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon
0x195db8000 - 0x195e1afff libSparse.dylib (106) <8E6B9AAB-79F7-3ADA-B7CF-DD0FA0DBBCE8> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib
0x195e1b000 - 0x195ea2fff com.apple.SystemConfiguration (1.20 - 1.20) <9DDF8F69-ED1D-3CF5-8BE5-45D2D2D32DF1> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
0x195ea3000 - 0x195ed6fff libCRFSuite.dylib (50) <29C89933-ADA1-359A-9E5B-CF3A5B4A618E> /usr/lib/libCRFSuite.dylib
0x195ed7000 - 0x196101fff libmecabra.dylib (929.1.1) <3CDA7E90-E5E4-3C5B-AA24-FF880AF18D0E> /usr/lib/libmecabra.dylib
0x196102000 - 0x196493fff com.apple.Foundation (6.9 - 1770.300) <5CEA7350-F274-39AE-9F27-D9813F2C3A76> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x196494000 - 0x196585fff com.apple.LanguageModeling (1.0 - 247.1) <4D0D7198-4EB8-3D57-93E7-6F1F7EF4437C> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
0x196586000 - 0x1966a8fff com.apple.CoreDisplay (231.3 - 231.3) <C5041E8F-8A23-3EF8-8F45-E9A80452B397> /System/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay
0x1966a9000 - 0x196916fff com.apple.audio.AudioToolboxCore (1.0 - 1180.23) <70295FDE-F110-3D9F-B696-D8E4995D2FE4> /System/Library/PrivateFrameworks/AudioToolboxCore.framework/Versions/A/AudioToolboxCore
0x196917000 - 0x196ae8fff com.apple.CoreText (677.2.0.5 - 677.2.0.5) <AE3C151D-2022-3A70-9DE4-FA773BF55FDB> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
0x196ae9000 - 0x19710dfff com.apple.audio.CoreAudio (5.0 - 5.0) <0E6AD3C8-3E90-3CB7-BE25-DDD37AFD1917> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
0x19710e000 - 0x19746bfff com.apple.security (7.0 - 59754.60.13) <495AE9B1-FAB5-3409-A758-B837B872CD61> /System/Library/Frameworks/Security.framework/Versions/A/Security
0x19746c000 - 0x1976ddfff libicucore.A.dylib (66109) <CFFBBD7C-F4CB-3D78-AD6C-86901ECE567F> /usr/lib/libicucore.A.dylib
0x1976de000 - 0x1976e8fff libsystem_darwin.dylib (1439.40.11) <1DEB48CE-5F39-3BBC-8D13-00C7636F7FE5> /usr/lib/system/libsystem_darwin.dylib
0x1976e9000 - 0x1979d8fff com.apple.CoreServices.CarbonCore (1307 - 1307) <4A7CBA4E-46D7-3C12-9E87-20C15E4FACE6> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
0x1979d9000 - 0x197a13fff com.apple.CoreServicesInternal (476 - 476) <1308E62B-1210-3F6A-98AA-7D0C527C6162> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal
0x197a14000 - 0x197a4ffff com.apple.CSStore (1122.11 - 1122.11) <1B34F90E-E298-3EF6-904F-6903CDEF72EF> /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore
0x197a50000 - 0x197b1afff com.apple.framework.IOKit (2.0.2 - 1845.60.2) <B0586F3E-D933-32E2-A51A-3B0DC242DB5F> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x197b1b000 - 0x197b26fff libsystem_notify.dylib (279.40.4) <C8ADD6C0-5150-359F-8A38-AEAA3351AA5C> /usr/lib/system/libsystem_notify.dylib
0x197b27000 - 0x197b73fff libsandbox.1.dylib (1441.60.4) <010546C0-030F-3E97-8CDF-4AA5665917FA> /usr/lib/libsandbox.1.dylib
0x197b74000 - 0x1988d2fff com.apple.AppKit (6.9 - 2022.20.119) <78F21674-643E-3793-B1CD-C8BDBC76BAD5> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x1988d3000 - 0x198b00fff com.apple.UIFoundation (1.0 - 726.11) <085965EE-A855-340D-8022-805BB9F45A87> /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation
0x198b01000 - 0x198b13fff com.apple.UniformTypeIdentifiers (633.0.2 - 633.0.2) <894D4234-E2B3-3154-B7C5-C7C1042100A0> /System/Library/Frameworks/UniformTypeIdentifiers.framework/Versions/A/UniformTypeIdentifiers
0x198b14000 - 0x198c82fff com.apple.desktopservices (1.17 - 1346.2.1) <9FB6D481-1E7B-3A98-AB83-B6F7BF988AF9> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
0x198f3c000 - 0x199646fff libnetwork.dylib (2288.60.5) <A9B6599B-C0A3-3E26-93A4-0BCCCCDB5D30> /usr/lib/libnetwork.dylib
0x199647000 - 0x199ad4fff com.apple.CFNetwork (1209.1 - 1209.1) <BE1B59DE-CE44-3CAE-897A-735E500ABB73> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x199ad5000 - 0x199ae4fff libsystem_networkextension.dylib (1295.60.5) <399ACCA2-77CA-3A30-9930-1382F8DBBAD3> /usr/lib/system/libsystem_networkextension.dylib
0x199ae5000 - 0x199ae6fff libenergytrace.dylib (22) <2AE008F9-387E-3386-8324-27E5A1574598> /usr/lib/libenergytrace.dylib
0x199ae7000 - 0x199b3bfff libMobileGestalt.dylib (978.60.2) <D8DD322B-F5E3-3398-B549-51AF91E7935D> /usr/lib/libMobileGestalt.dylib
0x199b3c000 - 0x199b53fff libsystem_asl.dylib (385) <B25E1954-9781-3238-8B1C-0CF44B5FA684> /usr/lib/system/libsystem_asl.dylib
0x199b54000 - 0x199b6dfff com.apple.TCC (1.0 - 1) <E0CEAEA4-8553-31F2-831B-35D8443CA4A3> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
0x199b6e000 - 0x199ed3fff com.apple.SkyLight (1.600.0 - 569.6) <936C1A3C-0381-3277-B5A2-29333312F86F> /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight
0x199ed4000 - 0x19a4c1fff com.apple.CoreGraphics (2.0 - 1463.2.2) <D6C003BF-A49F-37E4-ADE1-31AFA72DDB41> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
0x19a4c2000 - 0x19a5b7fff com.apple.ColorSync (4.13.0 - 3472) <DFF79761-3AF6-33F4-BAD2-8A276AECE01D> /System/Library/Frameworks/ColorSync.framework/Versions/A/ColorSync
0x19a5b8000 - 0x19a613fff com.apple.HIServices (1.22 - 713) <314B0EC5-1646-3A34-9A1B-FB3CE405EC29> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
0x19a96f000 - 0x19ad20fff com.apple.CoreData (120 - 1044.3) <0DFDE2DB-2C07-3DBE-872E-CFD24D675C43> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
0x19ad21000 - 0x19ad38fff com.apple.ProtocolBuffer (1 - 285.20.8.8.1) <A2A5B698-8017-3DCE-BD07-C9CC7A807B95> /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer
0x19ad39000 - 0x19aee0fff libsqlite3.dylib (321.1) <23EE8E77-50C4-35E8-A3C7-04C71FBD8565> /usr/lib/libsqlite3.dylib
0x19aee1000 - 0x19af58fff com.apple.Accounts (113 - 113) <718942B7-C0EF-3B33-861B-5BA79D5A1A92> /System/Library/Frameworks/Accounts.framework/Versions/A/Accounts
0x19af59000 - 0x19af70fff com.apple.commonutilities (8.0 - 900) <49536612-8785-3D31-A128-266D79ADC772> /System/Library/PrivateFrameworks/CommonUtilities.framework/Versions/A/CommonUtilities
0x19af71000 - 0x19aff5fff com.apple.BaseBoard (526 - 526) <7A3F1C5D-442D-35AB-8B63-D13EC7638F1A> /System/Library/PrivateFrameworks/BaseBoard.framework/Versions/A/BaseBoard
0x19aff6000 - 0x19b046fff com.apple.RunningBoardServices (1.0 - 505.60.2) <C1D71AE3-7493-3A7C-9717-EB6A6BFE451E> /System/Library/PrivateFrameworks/RunningBoardServices.framework/Versions/A/RunningBoardServices
0x19b047000 - 0x19b0bafff com.apple.AE (918.0.1 - 918.0.1) <311D1113-C432-3442-BB70-8605090A5E5C> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
0x19b0bb000 - 0x19b0c2fff libdns_services.dylib (1310.60.4) <8FFC83B0-344F-3FE7-8FA9-8AE1AAFB99BB> /usr/lib/libdns_services.dylib
0x19b0c3000 - 0x19b0cafff libsystem_symptoms.dylib (1431.60.1) <CF9E7636-168A-36DD-95F0-6CA76B91D3DC> /usr/lib/system/libsystem_symptoms.dylib
0x19b0cb000 - 0x19b227fff com.apple.Network (1.0 - 1) <6112E930-7DB0-369D-9536-930C8C3CD690> /System/Library/Frameworks/Network.framework/Versions/A/Network
0x19b228000 - 0x19b24dfff com.apple.analyticsd (1.0 - 1) <4CDE85B1-CEAF-3EF9-ADB2-8A3D3FD5AAB4> /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics
0x19b24e000 - 0x19b250fff libDiagnosticMessagesClient.dylib (112) <BD85EAE3-2614-3867-83D8-0DBE045856A2> /usr/lib/libDiagnosticMessagesClient.dylib
0x19b251000 - 0x19b29cfff com.apple.spotlight.metadata.utilities (1.0 - 2150.7.2) <2A982B2F-4F96-31DB-89CC-37445DF62FDE> /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities
0x19b29d000 - 0x19b336fff com.apple.Metadata (10.7.0 - 2150.7.2) <FA920EDA-E34F-3C8F-9565-EA0695E8C371> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
0x19b337000 - 0x19b33dfff com.apple.DiskArbitration (2.7 - 2.7) <07975F48-4A37-3FD9-9DD2-3367AAE9D692> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
0x19b33e000 - 0x19b65cfff com.apple.vImage (8.1 - 544) <818B9B01-AA84-3D24-A04D-00EA8D66C14F> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
0x19b65d000 - 0x19b90ffff com.apple.QuartzCore (1.11 - 925.5) <0FB3C46F-6DDF-3FDD-BF81-BF62A7553659> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
0x19b910000 - 0x19b952fff libFontRegistry.dylib (309) <6901EFA1-C468-3C81-96A6-8B173C0E9B2B> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
0x19b953000 - 0x19ba6cfff com.apple.coreui (2.1 - 689.4) <6B6F13C9-A49E-3B86-A23A-FE783177B980> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
0x19ba6d000 - 0x19bb4dfff com.apple.ViewBridge (551.3 - 551.3) <4F02AAF6-773F-33B3-A881-8FE458C996B2> /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/ViewBridge
0x19bb4e000 - 0x19bb58fff com.apple.PerformanceAnalysis (1.275 - 275) <8A942FDF-004C-373E-83A8-46D5F918B377> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
0x19bb59000 - 0x19bb66fff com.apple.OpenDirectory (11.1 - 230.40.1) <BF1D3476-D716-3AC4-8266-BF8E63A5F4C4> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
0x19bb67000 - 0x19bb86fff com.apple.CFOpenDirectory (11.1 - 230.40.1) <94AFB779-A06B-3AE4-8609-E9FDEF6DCF4E> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
0x19bb87000 - 0x19bb8ffff com.apple.CoreServices.FSEvents (1290.40.2 - 1290.40.2) <09DE727C-4BA5-33B7-9811-5F0CA5C86F31> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
0x19bb90000 - 0x19bbb4fff com.apple.coreservices.SharedFileList (144 - 144) <44F30AE5-8DC1-3726-8D6E-8811972BDB60> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
0x19bbb5000 - 0x19bbb7fff libapp_launch_measurement.dylib (14.1) <EE51FF2D-B44F-3027-92BA-42E0FDA6578C> /usr/lib/libapp_launch_measurement.dylib
0x19bbb8000 - 0x19bbfbfff com.apple.CoreAutoLayout (1.0 - 21.10.1) <289ACB53-3AFD-3898-9867-BDD113D0F249> /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout
0x19bbfc000 - 0x19bce7fff libxml2.2.dylib (34.8) <27B1CD43-A3F5-38D6-8AF5-B5F1977E5EA5> /usr/lib/libxml2.2.dylib
0x19bce8000 - 0x19bd3afff com.apple.CoreVideo (1.8 - 408.4) <B877220F-1199-3F9F-B00E-2DD96231D7DF> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
0x19bd3b000 - 0x19bd3dfff com.apple.loginsupport (1.0 - 1) <08ABC43D-FFEE-3F47-804A-D2510D814E42> /System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport
0x19bd66000 - 0x19bd85fff com.apple.UserManagement (1.0 - 1) <6B3CD796-2A5C-3613-BAC3-AA7BD125D26B> /System/Library/PrivateFrameworks/UserManagement.framework/Versions/A/UserManagement
0x19cb34000 - 0x19cb45fff libsystem_containermanager.dylib (318.60.1) <165B6DCF-6B92-3EC9-84D3-98FBFAB26EA1> /usr/lib/system/libsystem_containermanager.dylib
0x19cb46000 - 0x19cb57fff com.apple.IOSurface (289.3 - 289.3) <9FF9A9E1-CEE6-3B60-B906-9F841A8C458F> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
0x19cb58000 - 0x19cb61fff com.apple.IOAccelerator (439.52 - 439.52) <A26D0961-8422-303E-A46E-F8DC600E4F98> /System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator
0x19cb62000 - 0x19cc58fff com.apple.Metal (244.32.7 - 244.32.7) <3184F3A5-FDB4-3D75-BA6E-DA1EB8BCF867> /System/Library/Frameworks/Metal.framework/Versions/A/Metal
0x19cc59000 - 0x19cc78fff com.apple.audio.caulk (1.0 - 70) <3C740EA2-D7BA-31FA-9540-63E5E5F3A0F7> /System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk
0x19cc79000 - 0x19cd6ffff com.apple.CoreMedia (1.0 - 2760.6.4.6) <5F17C1F2-DF73-3C8A-B049-E270941A1196> /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia
0x19cd70000 - 0x19cec8fff libFontParser.dylib (305.2.0.6) <C3FF494B-E873-3E1C-9481-60A5D00A12E3> /System/Library/PrivateFrameworks/FontServices.framework/libFontParser.dylib
0x19cec9000 - 0x19d1d8fff com.apple.HIToolbox (2.1.1 - 1060.4) <5D42A3EB-F109-386B-BA75-5F72E264A3B9> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
0x19d1d9000 - 0x19d1f0fff com.apple.framework.DFRFoundation (1.0 - 265) <6F86CE64-F282-3F37-BCE4-9E5A38449A9D> /System/Library/PrivateFrameworks/DFRFoundation.framework/Versions/A/DFRFoundation
0x19d1f1000 - 0x19d1f4fff com.apple.dt.XCTTargetBootstrap (1.0 - 17500) <AE6F2D6D-A031-3F81-B05A-0B67AD3F502D> /System/Library/PrivateFrameworks/XCTTargetBootstrap.framework/Versions/A/XCTTargetBootstrap
0x19d1f5000 - 0x19d21ffff com.apple.CoreSVG (1.0 - 149) <5FD325DB-4A8C-32E2-B1B6-FAB9C8DD2DCC> /System/Library/PrivateFrameworks/CoreSVG.framework/Versions/A/CoreSVG
0x19d220000 - 0x19d43dfff com.apple.ImageIO (3.3.0 - 2130.2.7) <3B7DCBB0-0493-3818-A156-ACCB65E66323> /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
0x19d43e000 - 0x19d75efff com.apple.CoreImage (16.1.0 - 1120.10) <8CC24666-D076-36FD-91F1-C083087D5D51> /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage
0x19d75f000 - 0x19d7b6fff com.apple.MetalPerformanceShaders.MPSCore (1.0 - 1) <CF0159EB-938F-3F20-AF71-D8DFB502D71A> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSCore.framework/Versions/A/MPSCore
0x19d7b7000 - 0x19d7bbfff libsystem_configuration.dylib (1109.60.2) <5D4DB975-F8DC-3B07-8F2B-4054CCA4B9B6> /usr/lib/system/libsystem_configuration.dylib
0x19d7bc000 - 0x19d7c0fff libsystem_sandbox.dylib (1441.60.4) <0EE4CE47-4715-3EE3-93CA-F4863FE29A5C> /usr/lib/system/libsystem_sandbox.dylib
0x19d7c1000 - 0x19d7c2fff com.apple.AggregateDictionary (1.0 - 1) <38AB1AE3-0555-343B-85BB-AE9E529D9E91> /System/Library/PrivateFrameworks/AggregateDictionary.framework/Versions/A/AggregateDictionary
0x19d7c3000 - 0x19d7c6fff com.apple.AppleSystemInfo (3.1.5 - 3.1.5) <4E760B95-F152-3D6C-A879-941D7F7046F3> /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo
0x19d7c7000 - 0x19d7c8fff liblangid.dylib (136) <9BC69285-920A-3469-BDCC-3EE821704AE0> /usr/lib/liblangid.dylib
0x19d7c9000 - 0x19d857fff com.apple.CoreNLP (1.0 - 245) <1015A6D8-5D99-3CB3-AC48-55F053134704> /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP
0x19d858000 - 0x19d85ffff com.apple.LinguisticData (1.0 - 399) <0C2C6A0B-352B-3A10-9A64-7A467BC0619F> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData
0x19d860000 - 0x19dd14fff libBNNS.dylib (288.60.2) <A4896748-ACA6-3491-842E-59A6E1A386DF> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib
0x19dd15000 - 0x19ddc7fff libvDSP.dylib (760.40.6) <C9471CC1-5622-390D-A38A-F730A17924C4> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
0x19ddc8000 - 0x19dddafff com.apple.CoreEmoji (1.0 - 128) <4790C8CE-AD87-3F74-9721-4A3F931E6B5D> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji
0x19dddb000 - 0x19dde5fff com.apple.IOMobileFramebuffer (343.0.0 - 343.0.0) <761968D8-6440-381D-AA1E-A01B10F5766E> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer
0x19dde6000 - 0x19deb1fff com.apple.framework.CoreWLAN (16.0 - 1657) <CA1BD1AF-D57A-3B06-97B1-0AC71F439685> /System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN
0x19deb2000 - 0x19e0b1fff com.apple.CoreUtils (6.5 - 650.5) <6A28B5ED-404A-3179-8B43-D1210BDEB176> /System/Library/PrivateFrameworks/CoreUtils.framework/Versions/A/CoreUtils
0x19e0b2000 - 0x19e0d4fff com.apple.MobileKeyBag (2.0 - 1.0) <E5430E72-A4F5-3E0E-80FE-D18010F58F6E> /System/Library/PrivateFrameworks/MobileKeyBag.framework/Versions/A/MobileKeyBag
0x19e0d5000 - 0x19e0e4fff com.apple.AssertionServices (1.0 - 505.60.2) <1CD9B6A5-00E1-3A26-A389-E1D93B077876> /System/Library/PrivateFrameworks/AssertionServices.framework/Versions/A/AssertionServices
0x19e0e5000 - 0x19e16afff com.apple.securityfoundation (6.0 - 55240.40.4) <B74FE7B0-C339-3483-95F8-B219820F5540> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
0x19e16b000 - 0x19e174fff com.apple.coreservices.BackgroundTaskManagement (1.0 - 104) <42AFCFE1-F6F3-30D4-A278-FF43847F5733> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement
0x19e175000 - 0x19e17afff com.apple.xpc.ServiceManagement (1.0 - 1) <F21342A9-E6E0-3535-B40B-96E62A27ADA3> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
0x19e17b000 - 0x19e17dfff libquarantine.dylib (119.40.2) <C55DCBDE-51FF-3D90-AF78-9BE9F8FC8DD6> /usr/lib/system/libquarantine.dylib
0x19e17e000 - 0x19e18dfff libCheckFix.dylib (31) <A9A06358-3C31-30B8-89BF-02C7274E686B> /usr/lib/libCheckFix.dylib
0x19e18e000 - 0x19e1a4fff libcoretls.dylib (169) <CBE8AF33-CAFF-36F8-B36A-B8F3ACCC0D05> /usr/lib/libcoretls.dylib
0x19e1a5000 - 0x19e1b5fff libbsm.0.dylib (68.40.1) <A42FE2FA-6D61-3A6B-BC18-D81CF9EEC26E> /usr/lib/libbsm.0.dylib
0x19e1b6000 - 0x19e1fafff libmecab.dylib (929.1.1) <022FB4B7-EDB7-3637-9E32-57EDF231EFBD> /usr/lib/libmecab.dylib
0x19e1fb000 - 0x19e1fffff libgermantok.dylib (24) <DAD2668B-A6FD-34C9-8AEE-A2CFBD4305B9> /usr/lib/libgermantok.dylib
0x19e200000 - 0x19e215fff libLinearAlgebra.dylib (1336.40.1) <EF07960C-DBF1-34A0-9F03-E8969D4BA4E8> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
0x19e216000 - 0x19e419fff com.apple.MetalPerformanceShaders.MPSNeuralNetwork (1.0 - 1) <4193E38D-0646-36C8-AD8B-E5F22A68846D> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNeuralNetwork.framework/Versions/A/MPSNeuralNetwork
0x19e41a000 - 0x19e463fff com.apple.MetalPerformanceShaders.MPSRayIntersector (1.0 - 1) <B27589D3-909F-3C86-8597-762ED8052082> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSRayIntersector.framework/Versions/A/MPSRayIntersector
0x19e464000 - 0x19e59efff com.apple.MLCompute (1.0 - 1) <CD745414-6E80-3BCD-9EFE-CE192AC0AEB4> /System/Library/Frameworks/MLCompute.framework/Versions/A/MLCompute
0x19e59f000 - 0x19e5cdfff com.apple.MetalPerformanceShaders.MPSMatrix (1.0 - 1) <5867536B-0869-3ED4-AB5D-60E0FD9BFE70> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSMatrix.framework/Versions/A/MPSMatrix
0x19e5ce000 - 0x19e609fff com.apple.MetalPerformanceShaders.MPSNDArray (1.0 - 1) <08BD5CCA-0485-3C1F-A3E0-5C1A2058E533> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNDArray.framework/Versions/A/MPSNDArray
0x19e60a000 - 0x19e694fff com.apple.MetalPerformanceShaders.MPSImage (1.0 - 1) <24F9DB17-EB5E-3AA9-A15C-B0DBCC5A8991> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSImage.framework/Versions/A/MPSImage
0x19e695000 - 0x19e6a4fff com.apple.AppleFSCompression (125 - 1.0) <D5F93E39-B11F-3862-93CD-BB162E078EB9> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
0x19e6a5000 - 0x19e6b1fff libbz2.1.0.dylib (44) <78DA9846-BC91-3FEF-BCAE-DA445E2F4007> /usr/lib/libbz2.1.0.dylib
0x19e6b2000 - 0x19e6b6fff libsystem_coreservices.dylib (127) <1F4E0C2D-9A82-3E3F-B546-1F23A3B180B5> /usr/lib/system/libsystem_coreservices.dylib
0x19e6b7000 - 0x19e6e7fff com.apple.CoreServices.OSServices (1122.11 - 1122.11) <EFFA0C4E-A0C1-3970-BE40-A0A46A35C180> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
0x19e6e8000 - 0x19e7fdfff com.apple.AuthKit (1.0 - 1) <6C08E7C4-862E-36F7-B8B0-6A7BC9B010AA> /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/AuthKit
0x19e8a5000 - 0x19e8b6fff libz.1.dylib (76) <5EA0F5F6-7974-3DF8-9862-CE916C5EC980> /usr/lib/libz.1.dylib
0x19e8b7000 - 0x19e8e4fff libsystem_m.dylib (3186.40.2) <129930A8-F06B-3AD4-BA84-21549591F87A> /usr/lib/system/libsystem_m.dylib
0x19e8e5000 - 0x19e8e5fff libcharset.1.dylib (59) <DF7E5E0B-8534-3D78-96D4-519E0F22DD02> /usr/lib/libcharset.1.dylib
0x19e8e6000 - 0x19e8ebfff libmacho.dylib (973.4) <29AD4E0E-F6A4-313F-AFA3-825CA94917BD> /usr/lib/system/libmacho.dylib
0x19e8ec000 - 0x19e907fff libkxld.dylib (7195.60.75) <8BEBE228-8A15-383D-8E30-A20B2E2082B5> /usr/lib/system/libkxld.dylib
0x19e908000 - 0x19e915fff libcommonCrypto.dylib (60178.40.2) <FEDF1785-B89A-3EFB-B95E-467645AC6113> /usr/lib/system/libcommonCrypto.dylib
0x19e916000 - 0x19e920fff libunwind.dylib (200.10) <21A28401-C508-38BE-A7CF-C2A56AB3C311> /usr/lib/system/libunwind.dylib
0x19e921000 - 0x19e928fff liboah.dylib (203.13.2) <F36DDACF-B46B-3813-8ADE-A275209588BF> /usr/lib/liboah.dylib
0x19e929000 - 0x19e931fff libcopyfile.dylib (173.40.2) <8AE5EFE8-BBA5-380B-9165-D350CD7EA3CE> /usr/lib/system/libcopyfile.dylib
0x19e932000 - 0x19e935fff libcompiler_rt.dylib (102.2) <39A3467E-CBED-3C4A-B0BC-39C0093842E9> /usr/lib/system/libcompiler_rt.dylib
0x19e936000 - 0x19e938fff libsystem_collections.dylib (1439.40.11) <5EEC397D-2CAA-39D1-8B82-6370E633FDC9> /usr/lib/system/libsystem_collections.dylib
0x19e939000 - 0x19e93bfff libsystem_secinit.dylib (87.60.1) <04EF7D20-ABBD-3DB1-B990-278887044735> /usr/lib/system/libsystem_secinit.dylib
0x19e93c000 - 0x19e93efff libremovefile.dylib (49.40.3) <8FAF9121-D546-3319-B366-1C50BAF59FE8> /usr/lib/system/libremovefile.dylib
0x19e93f000 - 0x19e93ffff libkeymgr.dylib (31) <3EF55D83-6DD4-376B-8C0B-5B12CD0D3D94> /usr/lib/system/libkeymgr.dylib
0x19e940000 - 0x19e948fff libsystem_dnssd.dylib (1310.60.4) <E498E2D5-BD16-3458-AF9C-B4EE888935CB> /usr/lib/system/libsystem_dnssd.dylib
0x19e949000 - 0x19e94efff libcache.dylib (83) <BF1D536B-540F-374E-BA7B-EB2429F334CD> /usr/lib/system/libcache.dylib
0x19e94f000 - 0x19e950fff libSystem.B.dylib (1292.60.1) <03EDCD03-5B2F-353E-BD06-6313B8279E9C> /usr/lib/libSystem.B.dylib
0x19e951000 - 0x19e954fff libfakelink.dylib (3) <B5AF719C-EC9A-3714-9E29-65FA0920BFE4> /usr/lib/libfakelink.dylib
0x19e955000 - 0x19e955fff com.apple.SoftLinking (1.0 - 1) <DD7C1F9C-6512-35D2-9391-450628D67E19> /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking
0x19e956000 - 0x19e990fff libpcap.A.dylib (98.40.1) <8056A56E-73C0-36F1-849E-262FD7C33550> /usr/lib/libpcap.A.dylib
0x19e991000 - 0x19ea83fff libiconv.2.dylib (59) <B745BF03-D15C-3B71-9774-894201EC76CF> /usr/lib/libiconv.2.dylib
0x19ea84000 - 0x19ea99fff libcmph.dylib (8) <1B539AD1-EB4E-3E4E-9936-A8FF9F3D65B9> /usr/lib/libcmph.dylib
0x19ea9a000 - 0x19eb0afff libarchive.2.dylib (83.40.4) <5CBBFEF0-AE9F-3967-B916-68EEC897969D> /usr/lib/libarchive.2.dylib
0x19eb0b000 - 0x19eb7bfff com.apple.SearchKit (1.4.1 - 1.4.1) <7A1F87D4-B5D2-3F0D-B732-FA696B45B882> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
0x19eb7c000 - 0x19eb7dfff libThaiTokenizer.dylib (3) <74A6D3FA-8A99-3303-9A8B-26620CC232AE> /usr/lib/libThaiTokenizer.dylib
0x19eb7e000 - 0x19eba2fff com.apple.applesauce (1.0 - 16.26) <F38BC353-F9A4-3762-AEF4-DA4692FE80B6> /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce
0x19eba3000 - 0x19ebb9fff libapple_nghttp2.dylib (1.41) <7ABA6797-C912-3F49-BCA5-2405D30BEAF9> /usr/lib/libapple_nghttp2.dylib
0x19ebba000 - 0x19ebcbfff libSparseBLAS.dylib (1336.40.1) <147B4C34-5369-39C6-99A3-559800DB28A5> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
0x19ebcc000 - 0x19ebcdfff com.apple.MetalPerformanceShaders.MetalPerformanceShaders (1.0 - 1) <B22701AF-CE19-3635-AF1D-FB69EB0E6A7C> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/MetalPerformanceShaders
0x19ebce000 - 0x19ebd2fff libpam.2.dylib (28.40.1) <0BFA77F1-A62A-356C-B901-3D158E1B7E95> /usr/lib/libpam.2.dylib
0x19ebd3000 - 0x19ebeafff libcompression.dylib (96.40.6) <A01701F6-D89C-3E89-B429-79DB81426F12> /usr/lib/libcompression.dylib
0x19ebeb000 - 0x19ebeffff libQuadrature.dylib (7) <B2DD0691-70A9-3EE4-A5DC-D2FFFE71ECC5> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib
0x19ebf0000 - 0x19f09afff libLAPACK.dylib (1336.40.1) <E94DE514-61CA-3C60-B3D7-C9257223FDA5> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
0x19f09b000 - 0x19f0ecfff com.apple.DictionaryServices (1.2 - 341) <0B2A9791-DAE5-3D19-B10E-834F807455DE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
0x19f0ed000 - 0x19f105fff liblzma.5.dylib (16) <2F09739A-498C-39D9-823E-BA62312F540E> /usr/lib/liblzma.5.dylib
0x19f106000 - 0x19f107fff libcoretls_cfhelpers.dylib (169) <15F18276-CC9C-3822-97F0-0C5B6F33B145> /usr/lib/libcoretls_cfhelpers.dylib
0x19f108000 - 0x19f1eefff com.apple.APFS (1677.60.23 - 1677.60.23) <39013AA0-2845-349F-A323-9D7BC3B74C2D> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS
0x19f1ef000 - 0x19f1fcfff libxar.1.dylib (452) <01CD3C4E-C3F8-3CDB-B4CF-2F59B236C0B9> /usr/lib/libxar.1.dylib
0x19f1fd000 - 0x19f200fff libutil.dylib (58.40.2) <857F5F7E-6554-3F68-AC00-B2F2E43B4249> /usr/lib/libutil.dylib
0x19f201000 - 0x19f22afff libxslt.1.dylib (17.2) <AAC88056-759F-32E3-8388-D9FF2EB55B61> /usr/lib/libxslt.1.dylib
0x19f22b000 - 0x19f235fff libChineseTokenizer.dylib (37) <F24F3F8F-9D4A-38BD-951E-8C9F19037DBB> /usr/lib/libChineseTokenizer.dylib
0x19f236000 - 0x19f2aafff libvMisc.dylib (760.40.6) <48EB6D40-7B0D-3CB0-9F4D-1481ABB81222> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
0x19f2ab000 - 0x19f33cfff libate.dylib (3.0.4) <942482F9-681B-3238-9849-D9C02457D978> /usr/lib/libate.dylib
0x19f33d000 - 0x19f344fff libIOReport.dylib (64) <A7FF0874-7F11-3BEC-A602-1E85F832832B> /usr/lib/libIOReport.dylib
0x19f345000 - 0x19f371fff com.apple.CrashReporterSupport (10.13 - 15047) <10E95DD9-8005-3495-93C0-6A0FB36A97E5> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
0x19f458000 - 0x19f45ffff libMatch.1.dylib (38) <373E5F26-615E-356B-AC28-70EA9204AF22> /usr/lib/libMatch.1.dylib
0x19f460000 - 0x19f4e3fff libCoreStorage.dylib (554) <7C857783-8F9D-3ED6-9234-47E608A2DDD0> /usr/lib/libCoreStorage.dylib
0x19f4e4000 - 0x19f52ffff com.apple.AppleVAFramework (6.1.3 - 6.1.3) <AB0B7ABC-9FD1-3476-A16A-35F6501D1540> /System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA
0x19f530000 - 0x19f549fff libexpat.1.dylib (26) <8B917E86-B3FC-3B18-9DD2-4D157E77320B> /usr/lib/libexpat.1.dylib
0x19f54a000 - 0x19f553fff libheimdal-asn1.dylib (597.40.10) <08B0980A-F6E1-3B41-81D5-8C4A7566F55D> /usr/lib/libheimdal-asn1.dylib
0x19f554000 - 0x19f566fff com.apple.IconFoundation (479.3 - 479.3) <D62CCE4A-04DE-3DC9-92A1-B6196B3891E8> /System/Library/PrivateFrameworks/IconFoundation.framework/Versions/A/IconFoundation
0x19f567000 - 0x19f5cdfff com.apple.IconServices (479.3 - 479.3) <FC2A8690-F2D4-3EA3-869C-E685C2BCE873> /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
0x19f5ce000 - 0x19f671fff com.apple.MediaExperience (1.0 - 1) <F794A130-19C3-34F4-8678-016A36509465> /System/Library/PrivateFrameworks/MediaExperience.framework/Versions/A/MediaExperience
0x19f672000 - 0x19f698fff com.apple.persistentconnection (1.0 - 1.0) <D423D474-AB61-3F4E-9508-ED25B9E12012> /System/Library/PrivateFrameworks/PersistentConnection.framework/Versions/A/PersistentConnection
0x19f699000 - 0x19f6a6fff com.apple.GraphVisualizer (1.0 - 100.1) <4C8E4148-A718-392A-B617-787534895649> /System/Library/PrivateFrameworks/GraphVisualizer.framework/Versions/A/GraphVisualizer
0x19f6a7000 - 0x19fab9fff com.apple.vision.FaceCore (4.3.2 - 4.3.2) <E5805F32-080F-3690-9D51-918C266A3E8E> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
0x19faba000 - 0x19fafbfff com.apple.OTSVG (1.0 - 677.2.0.5) <7850AA94-4208-3CF7-8CC0-4889F36AB01D> /System/Library/PrivateFrameworks/OTSVG.framework/Versions/A/OTSVG
0x19fafc000 - 0x19fb03fff com.apple.xpc.AppServerSupport (1.0 - 2038.40.38) <911AB008-23FE-3134-B433-0321073F0BDC> /System/Library/PrivateFrameworks/AppServerSupport.framework/Versions/A/AppServerSupport
0x19fb04000 - 0x19fb12fff libhvf.dylib (1.0 - $[CURRENT_PROJECT_VERSION]) <145974E6-1A9C-3481-A55E-529E84F0CD94> /System/Library/PrivateFrameworks/FontServices.framework/libhvf.dylib
0x19fb13000 - 0x19fb15fff libspindump.dylib (295) <52B9391B-7757-3A44-B435-E8A640F3B505> /usr/lib/libspindump.dylib
0x19fb16000 - 0x19fbcafff com.apple.Heimdal (4.0 - 2.0) <8B0D70D0-3C4C-3A1E-B55C-C2F2AF0C5F32> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
0x19fbcb000 - 0x19fbe5fff com.apple.login (3.0 - 3.0) <E74E590C-66D8-303D-9162-976BFFA449A0> /System/Library/PrivateFrameworks/login.framework/Versions/A/login
0x19fd59000 - 0x19fd5cfff libodfde.dylib (26) <4FF6481B-3170-3FA4-8FAB-C5C4D9350B64> /usr/lib/libodfde.dylib
0x19fd5d000 - 0x19fdbcfff com.apple.bom (14.0 - 233) <DCDA5BE2-828A-3CC7-8801-8E0ECDF3DCE4> /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom
0x19fdbd000 - 0x19fe00fff com.apple.AppleJPEG (1.0 - 1) <1FC15817-A4AF-39EC-83DB-7EF49DCC49EE> /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
0x19fe01000 - 0x19fee5fff libJP2.dylib (2130.2.7) <D8C55474-A9B6-3B5E-A7BC-98CC57204F7C> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
0x19fee6000 - 0x19fee9fff com.apple.WatchdogClient.framework (1.0 - 98.60.1) <E800B674-7E5F-36DB-8461-E0B08D3F8594> /System/Library/PrivateFrameworks/WatchdogClient.framework/Versions/A/WatchdogClient
0x19feea000 - 0x19ff1efff com.apple.MultitouchSupport.framework (4400.28 - 4400.28) <79604DF8-4953-3B82-B118-7D4797A5E1BD> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
0x19ff1f000 - 0x1a0044fff com.apple.VideoToolbox (1.0 - 2760.6.4.6) <7225282B-0656-37B2-8A61-DC1D4B005000> /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox
0x1a0045000 - 0x1a0077fff libAudioToolboxUtility.dylib (1180.23) <7AE3473A-AC33-34E8-B2A1-28CBB86BD302> /usr/lib/libAudioToolboxUtility.dylib
0x1a0078000 - 0x1a009efff libPng.dylib (2130.2.7) <7E71956F-03EA-383D-A481-C5F233865CD7> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
0x1a009f000 - 0x1a00f9fff libTIFF.dylib (2130.2.7) <725BCDFF-8637-3FFC-93D1-FCA7E0C2CE4A> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
0x1a00fa000 - 0x1a0116fff com.apple.IOPresentment (53 - 37) <F4CC2ABF-FAAD-3F34-9CB9-A012C9C1E387> /System/Library/PrivateFrameworks/IOPresentment.framework/Versions/A/IOPresentment
0x1a0117000 - 0x1a011bfff com.apple.GPUWrangler (6.2.2 - 6.2.2) <FD5B24DE-DFDE-3FCE-AED6-6C49C0FD12A9> /System/Library/PrivateFrameworks/GPUWrangler.framework/Versions/A/GPUWrangler
0x1a011c000 - 0x1a011efff libRadiance.dylib (2130.2.7) <635C3E69-E2B0-31E3-B004-A5FF0F5E9A7B> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
0x1a011f000 - 0x1a0124fff com.apple.DSExternalDisplay (3.1 - 380) <56A2B5E6-B0B0-3F89-AD12-9EC961231366> /System/Library/PrivateFrameworks/DSExternalDisplay.framework/Versions/A/DSExternalDisplay
0x1a0125000 - 0x1a0145fff libJPEG.dylib (2130.2.7) <7E5DE231-8044-311C-AB96-788C1AA406CA> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
0x1a0146000 - 0x1a0175fff com.apple.ATSUI (1.0 - 1) <9E776419-229D-30CC-AD40-193F29B2C670> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATSUI.framework/Versions/A/ATSUI
0x1a0176000 - 0x1a017afff libGIF.dylib (2130.2.7) <127658D4-6452-38A2-808E-161086C94C47> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
0x1a017b000 - 0x1a0184fff com.apple.CMCaptureCore (1.0 - 80.17.1.1) <A89879A4-F679-3168-A50A-8F83FBE3184C> /System/Library/PrivateFrameworks/CMCaptureCore.framework/Versions/A/CMCaptureCore
0x1a0185000 - 0x1a01ccfff com.apple.print.framework.PrintCore (16 - 531) <456F8F80-DDEC-397C-B43C-EE799ECDA3F7> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
0x1a01cd000 - 0x1a0281fff com.apple.TextureIO (3.10.9 - 3.10.9) <D54C961C-800D-3309-8E90-1EB8EF470CD9> /System/Library/PrivateFrameworks/TextureIO.framework/Versions/A/TextureIO
0x1a0282000 - 0x1a028afff com.apple.InternationalSupport (1.0 - 60) <55754151-4F79-342F-8D91-53A16E9E83B8> /System/Library/PrivateFrameworks/InternationalSupport.framework/Versions/A/InternationalSupport
0x1a028b000 - 0x1a02fffff com.apple.datadetectorscore (8.0 - 674) <44607BEB-812C-3152-AFE6-51C960D15D12> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
0x1a0300000 - 0x1a0360fff com.apple.UserActivity (435 - 435) <33EC085E-4106-3662-9FBE-6D3687ABFF34> /System/Library/PrivateFrameworks/UserActivity.framework/Versions/A/UserActivity
0x1a0361000 - 0x1a0ac9fff com.apple.MediaToolbox (1.0 - 2760.6.4.6) <CAC6C96D-68F9-3462-AD23-5ABB7381A091> /System/Library/Frameworks/MediaToolbox.framework/Versions/A/MediaToolbox
0x1a0ffd000 - 0x1a1032fff libSessionUtility.dylib (76.7) <55B76612-B425-3BC5-B828-900FE52745A3> /System/Library/PrivateFrameworks/AudioSession.framework/libSessionUtility.dylib
0x1a1033000 - 0x1a1157fff com.apple.audio.toolbox.AudioToolbox (1.14 - 1.14) <2A0EA878-17A0-3D13-9FE0-D3AB09DD5187> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
0x1a1158000 - 0x1a11c1fff com.apple.audio.AudioSession (1.0 - 76.7) <BDC23BAB-CFE3-32DB-B8AF-C240056C6DF3> /System/Library/PrivateFrameworks/AudioSession.framework/Versions/A/AudioSession
0x1a11c2000 - 0x1a11d4fff libAudioStatistics.dylib (25.1) <E02FB648-3DFA-349C-9F5C-FECCF8E99A1C> /usr/lib/libAudioStatistics.dylib
0x1a11d5000 - 0x1a11e8fff com.apple.speech.synthesis.framework (9.0.51 - 9.0.51) <2205CF41-DFC6-325B-B2A7-EBB0DD2F73BE> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
0x1a11e9000 - 0x1a1256fff com.apple.ApplicationServices.ATS (377 - 516) <D4C1DA84-5F74-3CB6-97A9-46C6E91BA974> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
0x1a1257000 - 0x1a126ffff libresolv.9.dylib (68) <62492883-5FA7-39E0-ADED-F0788266FFD2> /usr/lib/libresolv.9.dylib
0x1a1270000 - 0x1a1283fff libsasl2.2.dylib (214) <18D55C2F-B0DE-3EC4-9AA6-963970D47DCA> /usr/lib/libsasl2.2.dylib
0x1a1397000 - 0x1a1476fff libSMC.dylib (20) <10AD3F44-AD41-3294-A9B0-3AF86ADF456C> /usr/lib/libSMC.dylib
0x1a1477000 - 0x1a14d7fff libcups.2.dylib (494.1) <C2CD4DBE-13B4-3D93-902B-D88C4B60A628> /usr/lib/libcups.2.dylib
0x1a14d8000 - 0x1a14e7fff com.apple.LangAnalysis (1.7.0 - 254) <10918D61-B681-339C-A380-89F3B66D7232> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
0x1a14e8000 - 0x1a14f4fff com.apple.NetAuth (6.2 - 6.2) <06B8BA21-FA96-377F-89ED-56B6FBB54193> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
0x1a14f5000 - 0x1a14fcfff com.apple.ColorSyncLegacy (4.13.0 - 1) <B7489608-9E2E-32D3-A745-DB1FFDF85600> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy
0x1a14fd000 - 0x1a1508fff com.apple.QD (4.0 - 416) <B1EE6F13-A80F-3DED-AE1B-DAEEB0FD7F2A> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
0x1a1509000 - 0x1a1b0ffff com.apple.audio.AudioResourceArbitration (1.0 - 1) <7D03969A-C2B0-30C9-AAAD-F530C2777D77> /System/Library/PrivateFrameworks/AudioResourceArbitration.framework/Versions/A/AudioResourceArbitration
0x1a1b10000 - 0x1a1b1bfff com.apple.perfdata (1.0 - 67.40.1) <E6DD9E16-3FDF-36F7-AB71-6193DFD7A2C2> /System/Library/PrivateFrameworks/perfdata.framework/Versions/A/perfdata
0x1a1b1c000 - 0x1a1b2afff libperfcheck.dylib (41) <FFAF5096-29A0-32D7-9503-330BE86BA903> /usr/lib/libperfcheck.dylib
0x1a1b2b000 - 0x1a1b3bfff com.apple.Kerberos (3.0 - 1) <228A8531-187C-3222-A570-2AC0F24A1ECE> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
0x1a1b3c000 - 0x1a1b84fff com.apple.GSS (4.0 - 2.0) <6A6552F1-C125-3404-8984-7B40C0579C14> /System/Library/Frameworks/GSS.framework/Versions/A/GSS
0x1a1b85000 - 0x1a1b94fff com.apple.CommonAuth (4.0 - 2.0) <40640305-7C1A-3E9F-B304-38376416EEA4> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
0x1a1be9000 - 0x1a1c0afff com.apple.security.KeychainCircle.KeychainCircle (1.0 - 1) <4AA42633-FA6B-3029-9373-3C791C2AA7BC> /System/Library/PrivateFrameworks/KeychainCircle.framework/Versions/A/KeychainCircle
0x1a1c0b000 - 0x1a1c13fff com.apple.CorePhoneNumbers (1.0 - 1) <1D5F5EF2-789C-36F5-A115-BB140EEBBF59> /System/Library/PrivateFrameworks/CorePhoneNumbers.framework/Versions/A/CorePhoneNumbers
0x1a1d61000 - 0x1a1d61fff liblaunch.dylib (2038.40.38) <A42FB952-AEBC-335F-8336-751E963F09F4> /usr/lib/system/liblaunch.dylib
0x1a2536000 - 0x1a2673fff com.apple.Sharing (1575 - 1575) <41777B8B-4817-3B84-9EDF-8BEE1E717456> /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
0x1a2674000 - 0x1a276bfff com.apple.Bluetooth (8.0.2 - 8.0.2f9) <747DC141-C975-30BC-98E0-CB43EF17018C> /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
0x1a276c000 - 0x1a277ffff com.apple.AppContainer (4.0 - 509.60.2) <278D1395-238B-31CD-A636-30B1F7D0CFF1> /System/Library/PrivateFrameworks/AppContainer.framework/Versions/A/AppContainer
0x1a2780000 - 0x1a2783fff com.apple.SecCodeWrapper (4.0 - 509.60.2) <1062A2DA-BEA8-3C8F-A008-A30AF251489D> /System/Library/PrivateFrameworks/SecCodeWrapper.framework/Versions/A/SecCodeWrapper
0x1a2784000 - 0x1a27dcfff com.apple.ProtectedCloudStorage (1.0 - 1) <C2875C59-B7D4-360A-A2AF-4CE27686AE90> /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Versions/A/ProtectedCloudStorage
0x1a3f98000 - 0x1a3fa3fff com.apple.DirectoryService.Framework (11.1 - 230.40.1) <0526A0E4-E8A5-3C90-8D3F-F6ED91B1581A> /System/Library/Frameworks/DirectoryService.framework/Versions/A/DirectoryService
0x1a3fa4000 - 0x1a3fcbfff com.apple.RemoteViewServices (2.0 - 163) <351E4523-E99A-3849-88A1-96072B599D5C> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
0x1a3fcc000 - 0x1a3fdbfff com.apple.SpeechRecognitionCore (6.1.12 - 6.1.12) <D692FAF5-0245-3883-8DF3-7655E881BF00> /System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore
0x1a3fdc000 - 0x1a3fe3fff com.apple.speech.recognition.framework (6.0.3 - 6.0.3) <9DC7A28A-4E40-35EE-83DC-FCE5261B3630> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
0x1a4224000 - 0x1a4224fff libsystem_product_info_filter.dylib (8.40.1) <BF4F283D-1B0C-3A5A-8DAC-CFB3096CEDB4> /usr/lib/system/libsystem_product_info_filter.dylib
0x1a42fd000 - 0x1a42fdfff com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <7C0FF713-FC2B-3857-B278-119FF3DC693F> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
0x1a4324000 - 0x1a4324fff com.apple.CoreServices (1122.11 - 1122.11) <797631B9-00AA-354E-8B87-E753665B6CCF> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x1a45de000 - 0x1a45defff com.apple.Accelerate (1.11 - Accelerate 1.11) <C114DE30-B4F9-36A6-B7FC-AF43156C4401> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
0x1a4622000 - 0x1a462efff com.apple.MediaAccessibility (1.0 - 130) <4B386CC2-EA1A-38DA-9335-30B39FF7A57D> /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/MediaAccessibility
0x1a462f000 - 0x1a464efff com.apple.networking.AlgosScoreFramework (1.0 - 1) <E6B7542F-8ACA-31B7-AE19-D2299D379BC1> /System/Library/PrivateFrameworks/AlgosScoreFramework.framework/Versions/A/AlgosScoreFramework
0x1a464f000 - 0x1a4654fff com.apple.AppleSRP (5.0 - 1) <DC2069EF-AF13-3D49-B48F-F9BB9D666712> /System/Library/PrivateFrameworks/AppleSRP.framework/Versions/A/AppleSRP
0x1a4655000 - 0x1a465ffff com.apple.frameworks.CoreDaemon (1.3 - 1.3) <127FB1D1-2EAA-3AD4-9E48-2F3F6F066A14> /System/Library/PrivateFrameworks/CoreDaemon.framework/Versions/B/CoreDaemon
0x1a4660000 - 0x1a4694fff com.apple.framework.SystemAdministration (1.0 - 1.0) <8279C918-F744-3C19-93D6-DE2DB7C1B1E5> /System/Library/PrivateFrameworks/SystemAdministration.framework/Versions/A/SystemAdministration
0x1a4e72000 - 0x1a4ecdfff com.apple.CoreBluetooth (1.0 - 1) <11FE4920-7267-36EB-8B17-151B8F41D654> /System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth
0x1a4ece000 - 0x1a4ed8fff com.apple.SymptomDiagnosticReporter (1.0 - 79.40.12) <9281E634-5ABF-3485-9869-1660C3F2B75D> /System/Library/PrivateFrameworks/SymptomDiagnosticReporter.framework/Versions/A/SymptomDiagnosticReporter
0x1a4eee000 - 0x1a4ef9fff com.apple.AppleIDAuthSupport (1.0 - 1) <55DA8399-E764-3464-AA63-FB7DBA1C041B> /System/Library/PrivateFrameworks/AppleIDAuthSupport.framework/Versions/A/AppleIDAuthSupport
0x1a4efa000 - 0x1a4faefff com.apple.DiscRecording (9.0.3 - 9030.4.5) <F64FFFE7-AB74-3C03-BAFB-BCBF4DBCDBCD> /System/Library/Frameworks/DiscRecording.framework/Versions/A/DiscRecording
0x1a4faf000 - 0x1a4fe2fff com.apple.MediaKit (16 - 927.40.2) <AFF2AF6E-FACA-34D1-BA21-F01E445DB697> /System/Library/PrivateFrameworks/MediaKit.framework/Versions/A/MediaKit
0x1a4fe3000 - 0x1a50c3fff com.apple.DiskManagement (14.0 - 1733.60.1) <E216DF7D-FACF-39C9-B316-9AF2F8F08E04> /System/Library/PrivateFrameworks/DiskManagement.framework/Versions/A/DiskManagement
0x1a50c4000 - 0x1a50cffff com.apple.CoreAUC (322.2.0 - 322.2.0) <A0D85DA0-E7F2-3329-98F3-27045BD949F3> /System/Library/PrivateFrameworks/CoreAUC.framework/Versions/A/CoreAUC
0x1a50d0000 - 0x1a50d3fff com.apple.Mangrove (1.0 - 25) <DE8C5916-FF51-3A7A-8173-D297EE52D90A> /System/Library/PrivateFrameworks/Mangrove.framework/Versions/A/Mangrove
0x1a50d4000 - 0x1a5103fff com.apple.CoreAVCHD (6.1.0 - 6100.4.1) <B8853BE6-FCCC-3AAF-BD0B-97D3EBC75FE3> /System/Library/PrivateFrameworks/CoreAVCHD.framework/Versions/A/CoreAVCHD
0x1a5104000 - 0x1a522cfff com.apple.FileProvider (326 - 326) <41CFE519-0190-3E90-97B3-692046037AE1> /System/Library/Frameworks/FileProvider.framework/Versions/A/FileProvider
0x1a522d000 - 0x1a5250fff com.apple.GenerationalStorage (2.0 - 322) <7C39E85F-C302-380F-9E7D-EFF873607707> /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
0x1a5bed000 - 0x1a5c27fff com.apple.DebugSymbols (195.1 - 195.1) <525D1AB3-CF31-3314-9A19-599D5078FAEF> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
0x1a5c28000 - 0x1a5cdffff com.apple.CoreSymbolication (12.2 - 64541.4) <DDEA1AAD-5FC1-3C0C-BD5A-ABE12F310473> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
0x1a6b66000 - 0x1a6bc5fff com.apple.framework.Apple80211 (17.0 - 1728) <BE2820B6-286D-3EB7-B219-C0E267335AA3> /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211
0x1a6bc6000 - 0x1a6cfefff com.apple.CoreWiFi (3.0 - 341) <138EC2D6-6250-3E1C-AC0E-B78B4E5D9802> /System/Library/PrivateFrameworks/CoreWiFi.framework/Versions/A/CoreWiFi
0x1a6d1a000 - 0x1a6d55fff com.apple.LDAPFramework (2.4.28 - 194.5) <D0E4EBE6-0D3B-3191-A551-4256E4605E37> /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
0x1a6d56000 - 0x1a6d57fff com.apple.TrustEvaluationAgent (2.0 - 35) <E06F76FD-614B-3955-A697-83A48AD7A00F> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
0x1a6d58000 - 0x1a6e51fff libcrypto.44.dylib (56.60.2) <29E7B90E-F541-3B3E-A484-61CDE1ED5B65> /usr/lib/libcrypto.44.dylib
0x1a6e52000 - 0x1a6e7dfff libssl.46.dylib (56.60.2) <E8EFE303-6EA1-3F8C-8581-CD024486B387> /usr/lib/libssl.46.dylib
0x1a6e7e000 - 0x1a6f31fff com.apple.DiskImagesFramework (595.40.1 - 595.40.1) <521C9845-BBDC-3B3B-9A2E-C2D13B7F41E6> /System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/DiskImages
0x1a6f68000 - 0x1a6f77fff com.apple.xpc.RemoteServiceDiscovery (1.0 - 2038.40.38) <10757691-CC02-38D3-B5D8-A264D9648519> /System/Library/PrivateFrameworks/RemoteServiceDiscovery.framework/Versions/A/RemoteServiceDiscovery
0x1a6f78000 - 0x1a6f8ffff com.apple.xpc.RemoteXPC (1.0 - 2038.40.38) <D62A0803-B9E0-38E6-8D95-E4DEC0E27AEE> /System/Library/PrivateFrameworks/RemoteXPC.framework/Versions/A/RemoteXPC
0x1a6fd3000 - 0x1a6fd6fff com.apple.help (1.3.8 - 71) <571D77F4-7411-36A8-8C3D-DBF00A4A4ACE> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
0x1a6fd7000 - 0x1a6fdefff com.apple.EFILogin (2.0 - 2) <C454840B-BCC2-300B-99B3-10FCAE76E131> /System/Library/PrivateFrameworks/EFILogin.framework/Versions/A/EFILogin
0x1a6fdf000 - 0x1a6feafff libcsfde.dylib (554) <A4B3791B-54BC-3BF9-83CA-B5D7D3FC8BD7> /usr/lib/libcsfde.dylib
0x1a6feb000 - 0x1a704afff libcurl.4.dylib (121.40.2) <B9C7E3F0-9F3F-3992-BC36-23E3120D7824> /usr/lib/libcurl.4.dylib
0x1a704b000 - 0x1a7052fff com.apple.LoginUICore (4.0 - 4.0) <3AE223DC-ACE7-3E72-8865-A4107EAAF0BA> /System/Library/PrivateFrameworks/LoginUIKit.framework/Versions/A/Frameworks/LoginUICore.framework/Versions/A/LoginUICore
0x1a7210000 - 0x1a7210fff com.apple.ApplicationServices (48 - 50) <5FAA3FF0-EC9B-3A66-A99D-70FFAC23EA29> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
0x1a74f6000 - 0x1a74f6fff libHeimdalProxy.dylib (79) <42592F61-568E-322B-B5DF-9C69A33E9000> /System/Library/Frameworks/Kerberos.framework/Versions/A/Libraries/libHeimdalProxy.dylib
0x1a75a1000 - 0x1a75a1fff com.apple.audio.units.AudioUnit (1.14 - 1.14) <E2E442D0-D865-3703-9B74-3C2BE1190D42> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
0x1a7f28000 - 0x1a7f2efff com.apple.ASEProcessing (1.26.0 - 1.26.0) <D50AB8C9-1C75-3072-A18E-161237441092> /System/Library/PrivateFrameworks/ASEProcessing.framework/Versions/A/ASEProcessing
0x1a93eb000 - 0x1a93eefff com.apple.IOSurfaceAccelerator (1.0.0 - 1.0.0) <C57E5066-EC50-3E8D-8883-E9D0DB9D5A85> /System/Library/PrivateFrameworks/IOSurfaceAccelerator.framework/Versions/A/IOSurfaceAccelerator
0x1aa472000 - 0x1aa48dfff com.apple.openscripting (1.7 - 190) <89C64D77-FF84-320E-BE5F-78F279C36C73> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
0x1aa48e000 - 0x1aa491fff com.apple.securityhi (9.0 - 55008) <E71813F6-18F3-35AB-A6C8-12AFACCBDE0A> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
0x1aa492000 - 0x1aa495fff com.apple.ink.framework (10.15 - 227) <CB34A459-A64B-37EA-8695-113E64A52382> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
0x1aa496000 - 0x1aa499fff com.apple.CommonPanels (1.2.6 - 101) <41AE151F-CBC4-3838-9DDC-B364997377F8> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
0x1aa49a000 - 0x1aa4a1fff com.apple.ImageCapture (1708 - 1708) <636A654E-0A0B-33CD-9A63-555A5DF631DF> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
0x1ac665000 - 0x1ac686fff com.apple.IOGPU (20.21.1 - 20.21.1) <A87744EB-C1F5-31ED-BE39-B71692DC97FA> /System/Library/PrivateFrameworks/IOGPU.framework/Versions/A/IOGPU
0x1ad302000 - 0x1ad305fff com.apple.OSAServicesClient (1.0 - 1) <512E9139-6E20-3E01-AA0C-5AC2D2AF3656> /System/Library/PrivateFrameworks/OSAServicesClient.framework/Versions/A/OSAServicesClient
0x1b0f34000 - 0x1b0f37fff com.apple.print.framework.Print (15 - 271) <C137A101-A4E4-35E2-B9D5-5807C879F854> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
0x1b0f38000 - 0x1b0f3bfff com.apple.Carbon (160 - 164) <9455FEDB-56A3-38DD-8473-41826E74C4CC> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
0x1b11c9000 - 0x1b11e5fff com.apple.private.SystemPolicy (1.0 - 1) <A74ADA5D-C1DA-376E-B5A2-F3AAE208DD0C> /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy
0x1b1b36000 - 0x1b1b41fff com.apple.MallocStackLogging (1.0 - 1) <CE8B1F36-F650-397C-AC25-E9C22C4B8747> /System/Library/PrivateFrameworks/MallocStackLogging.framework/Versions/A/MallocStackLogging
0x1b1b57000 - 0x1b1b69fff libmis.dylib (274.60.2) <75205B54-301C-32A2-9F78-5CA68144EDD4> /usr/lib/libmis.dylib
0x1b54d9000 - 0x1b54f1fff libCGInterfaces.dylib (544) <E7E7FB73-B3FD-3A36-9436-8D1B1C9BC3EE> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/Libraries/libCGInterfaces.dylib
0x1bbb48000 - 0x1bbb91fff com.apple.osanalytics.OSAnalytics (1.0 - 1) <E444D45A-16C6-3D81-9F9E-F1480954B314> /System/Library/PrivateFrameworks/OSAnalytics.framework/Versions/A/OSAnalytics
0x1c577b000 - 0x1c580dfff com.apple.Symbolication (12.2 - 64541.7.1) <4D8C25CC-A99D-3278-AF7C-82234882DF72> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
0x1d5769000 - 0x1d576dfff libmetal_timestamp.dylib (31001.160) <138EA401-9B10-3CCD-8C52-8AAEC870F9DD> /System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/31001/Libraries/libmetal_timestamp.dylib
0x1d79c2000 - 0x1d79c8fff libCoreFSCache.dylib (177.22) <4DD54172-58DD-3354-9237-24240736ED23> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib
0x1d79c9000 - 0x1d79cefff libCoreVMClient.dylib (177.22) <A7D89B20-2B56-3AA7-BF8D-E4FFCBEB6B06> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
0x1d79cf000 - 0x1d79defff com.apple.opengl (18.1.1 - 18.1.1) <DE64D1BB-B8A8-33F3-ADBE-CEEAE6D95C27> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
0x1d79df000 - 0x1d79e1fff libCVMSPluginSupport.dylib (18.1.1) <8A8A2DC0-921E-3325-ACBA-365D1BC4680F> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
0x1d79e2000 - 0x1d79eafff libGFXShared.dylib (18.1.1) <87B86869-7D32-3408-B85C-5D3EE7572552> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
0x1d79eb000 - 0x1d7a23fff libGLImage.dylib (18.1.1) <8200AF5B-F339-3B05-971F-BAD8C3D7B6EC> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
0x1d7a24000 - 0x1d7a5cfff libGLU.dylib (18.1.1) <504D710E-7F8B-33CE-8F02-E7D35E0D2A39> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
0x1d7a5d000 - 0x1d7bcbfff libGLProgrammability.dylib (18.1.1) <90DCD57F-7ECC-3D10-863C-38B018F11FF1> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib
0x1d7bcc000 - 0x1d7bd6fff libGL.dylib (18.1.1) <146816E2-8322-3944-99A6-23C431D8E79E> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
0x1d7bd7000 - 0x1d7d40fff GLEngine (18.1.1) <8266EEAE-EB15-3232-A351-F67580640980> /System/Library/Frameworks/OpenGL.framework/Versions/A/Resources/GLEngine.bundle/GLEngine
0x1d7d41000 - 0x1d7d66fff GLRendererFloat (18.1.1) <9B7210CE-9192-3BE4-892C-98A31059DEE1> /System/Library/Frameworks/OpenGL.framework/Versions/A/Resources/GLRendererFloat.bundle/GLRendererFloat
0x1d7d67000 - 0x1d7dc6fff com.apple.opencl (4.5 - 4.5) <248E1DE7-6AAC-3130-A8BC-72745BB9583C> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
0x1d886c000 - 0x1d8873fff com.apple.agl (3.3.4 - AGL-3.3.3) <6C198CD3-F2EA-3022-8AA0-07A9C7028EF3> /System/Library/Frameworks/AGL.framework/Versions/A/AGL
0x1e6132000 - 0x1e6139fff libRosetta.dylib (203.13.2) <F36DDACF-B46B-3813-8ADE-A275209588BF> /usr/lib/libRosetta.dylib
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 1016084
thread_create: 0
thread_set_state: 0
VM Region Summary:
ReadOnly portion of Libraries: Total=702.2M resident=0K(0%) swapped_out_or_unallocated=702.2M(100%)
Writable regions: Total=1.8G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.8G(100%)
VIRTUAL REGION
REGION TYPE SIZE COUNT (non-coalesced)
=========== ======= =======
Accelerate framework 384K 3
Activity Tracing 256K 1
CG backing stores 3264K 6
CG image 288K 10
CoreAnimation 208K 13
CoreGraphics 32K 2
CoreUI image data 1280K 11
Foundation 48K 2
IOAccelerator 24.7M 527
IOKit 16K 1
Kernel Alloc Once 32K 1
MALLOC 544.0M 86
MALLOC guard page 192K 9
MALLOC_MEDIUM (reserved) 952.0M 8 reserved VM address space (unallocated)
MALLOC_NANO (reserved) 256.0M 1 reserved VM address space (unallocated)
OpenGL GLSL 256K 3
STACK GUARD 56.2M 11
Stack 13.3M 11
VM_ALLOCATE 91.0M 69
__AUTH 634K 153
__AUTH_CONST 9425K 313
__CTF 759 1
__DATA 5786K 315
__DATA_CONST 9.8M 322
__DATA_DIRTY 599K 102
__FONT_DATA 4K 1
__GLSLBUILTINS 5176K 1
__LINKEDIT 484.6M 21
__OBJC_CONST 1211K 126
__OBJC_RO 64.5M 1
__OBJC_RW 2544K 1
__TEXT 217.6M 341
__UNICODE 588K 1
mapped file 581.0M 51
shared memory 64K 4
=========== ======= =======
TOTAL 3.2G 2529
TOTAL, minus reserved VM space 2.1G 2529
Model: MacBookPro17,1, BootROM 6723.61.3, proc 8:4:4 processors, 16 GB, SMC
Graphics: kHW_AppleM1Item, Apple M1, spdisplays_builtin
Memory Module: lp_ddr4
AirPort: spairport_wireless_card_type_airport_extreme, wl0: Oct 20 2020 12:49:54 version 18.20.222.14.7.8.100 FWID 01-ba327c2d
Bluetooth: Version 8.0.2f9, 3 services, 27 devices, 1 incoming serial ports
Network Service: Belkin USB-C LAN, Ethernet, en6
USB Device: USB 3.1 Bus
USB Device: Belkin USB-C LAN
USB Device: USB 3.1 Bus
Thunderbolt Bus: MacBook Pro, Apple Inc., 0.0
Thunderbolt Bus: MacBook Pro, Apple Inc., 0.0
So there are definitely issues with the opengl rendering in mrview. Even my 2013 MacBook air can load 100K tracks without a problem and scroll through them much more fluid than through the 10K tracks on the 2020 M1 Macbook. Not sure how to get to the bottom of this.
For reference, these are the outputs of the OpenGL info on a few macs:
Macbook Air 2013 (Intel, OS: Big Sur) --> can load 100K tracks and scroll through slabs smoothly:
Imac 2014 (Intel, OS: Catalina) --> can load 100K tracks and scroll through slabs smoothly:
Macbook Pro 2020 (M1, OS: Big Sur) --> crash on loading 100K tracks (see crashlog above) and scrolling through slabs with 10K tracks is not smooth:
What puzzles me is that the crashlog lists "libRosetta.dylib" which is the x86_64 to arm64 translation layer, whilst the mrview binary is native arm64 (it also shows up as arm64 in the process list).
Here is more in-depth view of the crash:
frame #11: 0x000000010259da54 mrview`MR::GUI::MRView::Tool::Tractography::draw(this=0x0000600000ed9420, transform=0x0000000139ee0a70, is_3D=false, (null)=2, (null)=33) at tractography.cpp:323:27
320 for (int i = 0; i < tractogram_list_model->rowCount(); ++i) {
321 Tractogram* tractogram = dynamic_cast<Tractogram*>(tractogram_list_model->items[i].get());
322 if (tractogram->show && !hide_all_button->isChecked())
-> 323 tractogram->render (transform);
324 }
325 GL::assert_context_is_current();
326 }
(lldb) frame variable
(MR::GUI::MRView::Tool::Tractography *) this = 0x0000600000ed9420
(const MR::GUI::Projection &) transform = 0x0000000139ee0a70: {
MR::GUI::ModelViewProjection = {
MV = {
m = {
[0] = -0.999996364
[1] = 0.00000359256023
[2] = 0.00269608176
[3] = 0
[4] = 0.000682523416
[5] = 0.967762589
[6] = 0.251863331
[7] = 0
[8] = -0.00260826224
[9] = 0.251864254
[10] = -0.967759072
[11] = 0
[12] = -2.08087516
[13] = -11.6742182
[14] = 2.78741503
[15] = 1
}
}
iMV = {
m = {
[0] = -0.999996423
[1] = 0.000682523357
[2] = -0.00260826224
[3] = -0
[4] = 0.00000359263504
[5] = 0.967762589
[6] = 0.251864254
[7] = -0
[8] = 0.002696082
[9] = 0.251863331
[10] = -0.967759072
[11] = -0
[12] = -2.088341
[13] = 10.5972443
[14] = 5.63243723
[15] = 1
}
}
P = {
m = {
[0] = 0.00893922522
[1] = 0
[2] = 0
[3] = 0
[4] = 0
[5] = 0.0078043621
[6] = 0
[7] = 0
[8] = 0
[9] = 0
[10] = -0.00273489603
[11] = 0
[12] = 0
[13] = 0
[14] = 0
[15] = 1
}
}
iP = {
m = {
[0] = 111.866516
[1] = 0
[2] = -0
[3] = 0
[4] = 0
[5] = 128.133484
[6] = 0
[7] = -0
[8] = -0
[9] = 0
[10] = -365.644623
[11] = 0
[12] = 0
[13] = -0
[14] = 0
[15] = 1
}
}
MVP = {
m = {
[0] = -0.00893919263
[1] = 2.80376415E-8
[2] = -0.00000737350319
[3] = 0
[4] = 0.00000610123061
[5] = 0.0075527695
[6] = -0.000688820029
[7] = 0
[8] = -0.0000233158444
[9] = 0.00196563988
[10] = 0.0026467205
[11] = 0
[12] = -0.018601412
[13] = -0.0911098272
[14] = -0.00762329018
[15] = 1
}
}
iMVP = {
m = {
[0] = -111.866119
[1] = 0.0763515085
[2] = -0.291777223
[3] = 0
[4] = 0.000460336858
[5] = 124.002792
[6] = 32.2722435
[7] = 0
[8] = -0.985807895
[9] = -92.0924759
[10] = 353.855896
[11] = 0
[12] = -2.088341
[13] = 10.5972443
[14] = 5.63243723
[15] = 1
}
}
viewport = ([0] = 0, [1] = 0, [2] = 447, [3] = 512)
}
glarea = 0x00006000039d0ff0
font = 0x000000016d922c18
crosshair = std::__1::shared_ptr<MR::GUI::Crosshair>::element_type @ 0x0000600002d0dec0 strong=1 weak=1 {
__ptr_ = 0x0000600002d0dec0
}
}
(bool) is_3D = false
(int) = 2
(int) = 33
(int) i = 0
(MR::GUI::MRView::Tool::Tractogram *) tractogram = 0x000000011b172900
(lldb) down
frame #10: 0x0000000102794c70 mrview`MR::GUI::MRView::Tool::Tractogram::render(this=0x000000011b172900, transform=0x0000000139ee0a70) at tractogram.cpp:492:13
489 gl::Disable (gl::BLEND);
490 gl::Enable (gl::DEPTH_TEST);
491 gl::DepthMask (gl::TRUE_);
-> 492 render_streamlines();
493 }
494
495 if (tractography_tool.line_opacity < 1.0) {
(lldb) frame variable
(MR::GUI::MRView::Tool::Tractogram *) this = 0x000000011b172900
(const MR::GUI::Projection &) transform = 0x0000000139ee0a70: {
MR::GUI::ModelViewProjection = {
MV = {
m = {
[0] = -0.999996364
[1] = 0.00000359256023
[2] = 0.00269608176
[3] = 0
[4] = 0.000682523416
[5] = 0.967762589
[6] = 0.251863331
[7] = 0
[8] = -0.00260826224
[9] = 0.251864254
[10] = -0.967759072
[11] = 0
[12] = -2.08087516
[13] = -11.6742182
[14] = 2.78741503
[15] = 1
}
}
iMV = {
m = {
[0] = -0.999996423
[1] = 0.000682523357
[2] = -0.00260826224
[3] = -0
[4] = 0.00000359263504
[5] = 0.967762589
[6] = 0.251864254
[7] = -0
[8] = 0.002696082
[9] = 0.251863331
[10] = -0.967759072
[11] = -0
[12] = -2.088341
[13] = 10.5972443
[14] = 5.63243723
[15] = 1
}
}
P = {
m = {
[0] = 0.00893922522
[1] = 0
[2] = 0
[3] = 0
[4] = 0
[5] = 0.0078043621
[6] = 0
[7] = 0
[8] = 0
[9] = 0
[10] = -0.00273489603
[11] = 0
[12] = 0
[13] = 0
[14] = 0
[15] = 1
}
}
iP = {
m = {
[0] = 111.866516
[1] = 0
[2] = -0
[3] = 0
[4] = 0
[5] = 128.133484
[6] = 0
[7] = -0
[8] = -0
[9] = 0
[10] = -365.644623
[11] = 0
[12] = 0
[13] = -0
[14] = 0
[15] = 1
}
}
MVP = {
m = {
[0] = -0.00893919263
[1] = 2.80376415E-8
[2] = -0.00000737350319
[3] = 0
[4] = 0.00000610123061
[5] = 0.0075527695
[6] = -0.000688820029
[7] = 0
[8] = -0.0000233158444
[9] = 0.00196563988
[10] = 0.0026467205
[11] = 0
[12] = -0.018601412
[13] = -0.0911098272
[14] = -0.00762329018
[15] = 1
}
}
iMVP = {
m = {
[0] = -111.866119
[1] = 0.0763515085
[2] = -0.291777223
[3] = 0
[4] = 0.000460336858
[5] = 124.002792
[6] = 32.2722435
[7] = 0
[8] = -0.985807895
[9] = -92.0924759
[10] = 353.855896
[11] = 0
[12] = -2.088341
[13] = 10.5972443
[14] = 5.63243723
[15] = 1
}
}
viewport = ([0] = 0, [1] = 0, [2] = 447, [3] = 512)
}
glarea = 0x00006000039d0ff0
font = 0x000000016d922c18
crosshair = std::__1::shared_ptr<MR::GUI::Crosshair>::element_type @ 0x0000600002d0dec0 strong=1 weak=1 {
__ptr_ = 0x0000600002d0dec0
}
}
(float) line_thickness_screenspace = 0.00000346750494
(float) point_size_screenspace = 1.58717406
(lldb) down
frame #9: 0x00000001027955ec mrview`MR::GUI::MRView::Tool::Tractogram::render_streamlines(this=0x000000011b172900) at tractogram.cpp:567:13
564
565 auto mode = geometry_type == TrackGeometryType::Points ? gl::POINTS : gl::LINE_STRIP;
566
-> 567 gl::MultiDrawArrays (mode, &track_starts[buf][0], &track_sizes[buf][0], num_tracks_per_buffer[buf]);
568
569 }
570
(lldb) frame variable
(MR::GUI::MRView::Tool::Tractogram *) this = 0x000000011b172900
(size_t) buf = 0
(size_t) N = 3
(gl::(anonymous enum)) mode = LINE_STRIP
(lldb) down
frame #8: 0x00000001cdc92154 GLEngine`glMultiDrawArrays_GL3Exec + 332
GLEngine`glMultiDrawArrays_GL3Exec:
-> 0x1cdc92154 <+332>: cbnz w0, 0x1cdc92460 ; <+1112>
0x1cdc92158 <+336>: ldr w8, [x25, #0xc3c]
0x1cdc9215c <+340>: ldr w9, [sp, #0x24]
0x1cdc92160 <+344>: tst w8, w9
(lldb) frame variable
(lldb) down
frame #7: 0x0000000114e1f50c AppleMetalOpenGLRenderer`gldRenderVertexArray(GLDContextRec*, unsigned int, unsigned int, int, int, unsigned int, void const*, int, void const*) + 14828
AppleMetalOpenGLRenderer`gldRenderVertexArray:
-> 0x114e1f50c <+14828>: ldr x0, [x25, #0xb00]
0x114e1f510 <+14832>: ldr x26, [sp, #0x108]
0x114e1f514 <+14836>: ldr x8, [x26, #0xb20]
0x114e1f518 <+14840>: ldr x2, [x8, #0x38]
(lldb) frame variable
(lldb) down
frame #6: 0x00000001152da8b8 AGXMetal13_3`___lldb_unnamed_symbol3453$$AGXMetal13_3 + 180
AGXMetal13_3`___lldb_unnamed_symbol3453$$AGXMetal13_3:
-> 0x1152da8b8 <+180>: ldr x8, [x19, x22]
0x1152da8bc <+184>: ldr w9, [x8, #0x3ac]
0x1152da8c0 <+188>: str w9, [x8, #0x3b4]
0x1152da8c4 <+192>: ldp x29, x30, [sp, #0xa0]
(lldb) frame variable
(lldb) down
frame #5: 0x00000001152dacc4 AGXMetal13_3`___lldb_unnamed_symbol3455$$AGXMetal13_3 + 616
AGXMetal13_3`___lldb_unnamed_symbol3455$$AGXMetal13_3:
-> 0x1152dacc4 <+616>: mov x0, x19
0x1152dacc8 <+620>: mov x1, x21
0x1152daccc <+624>: ldp x29, x30, [sp, #0x30]
0x1152dacd0 <+628>: ldp x20, x19, [sp, #0x20]
(lldb) frame variable
(lldb) down
frame #4: 0x00000001152db6d4 AGXMetal13_3`___lldb_unnamed_symbol3457$$AGXMetal13_3 + 1776
AGXMetal13_3`___lldb_unnamed_symbol3457$$AGXMetal13_3:
-> 0x1152db6d4 <+1776>: ldr w8, [x19, #0x498]
0x1152db6d8 <+1780>: cmp w8, #0x1 ; =0x1
0x1152db6dc <+1784>: ldr q0, [sp, #0x50]
0x1152db6e0 <+1788>: b.ne 0x1152db5c0 ; <+1500>
(lldb) frame variable
(lldb) down
frame #3: 0x00000001a26852b8 IOGPU`ioGPUResourceListAddNewGroupAndResource + 228
IOGPU`ioGPUResourceListAddNewGroupAndResource:
-> 0x1a26852b8 <+228>: bl 0x1a26852dc ; _ioGPUResourceListAddNewGroupAndResourceFault
0x1a26852bc <+232>: adrp x0, 12
0x1a26852c0 <+236>: add x0, x0, #0x3ca ; =0x3ca
0x1a26852c4 <+240>: adrp x1, 12
(lldb) frame variable
(lldb) down
frame #2: 0x000000018b238864 libsystem_c.dylib`abort + 104
libsystem_c.dylib`abort:
-> 0x18b238864 <+104>: mov w0, #0x2710
0x18b238868 <+108>: bl 0x18b1ee528 ; usleep$NOCANCEL
0x18b23886c <+112>: bl 0x18b238870 ; __abort
libsystem_c.dylib`__abort:
0x18b238870 <+0>: pacibsp
(lldb) frame variable
(lldb) down
frame #1: 0x000000018b2f0c24 libsystem_pthread.dylib`pthread_kill + 292
libsystem_pthread.dylib`pthread_kill:
-> 0x18b2f0c24 <+292>: cmn w0, #0x1 ; =0x1
0x18b2f0c28 <+296>: b.ne 0x18b2f0c90 ; <+400>
0x18b2f0c2c <+300>: ldr x8, [x22, #0x8]
0x18b2f0c30 <+304>: ldr w0, [x8]
(lldb) frame variable
(lldb) down
frame #0: 0x000000018b2bfcec libsystem_kernel.dylib`__pthread_kill + 8
libsystem_kernel.dylib`__pthread_kill:
-> 0x18b2bfcec <+8>: b.lo 0x18b2bfd0c ; <+40>
0x18b2bfcf0 <+12>: pacibsp
0x18b2bfcf4 <+16>: stp x29, x30, [sp, #-0x10]!
0x18b2bfcf8 <+20>: mov x29, sp
(lldb) frame variable
(lldb) down
error: Already at the bottom of the stack.
All unit tests pass: testing_units.log
Some binary tests fail: testing_binaries.log, but it looks reasonable, @jdtournier @Lestropie ?
Binary test failures are dwidenoise
, tckgen -algorithm tensor_det
and vectorstats
. All necessitate an increase in testing tolerances in order to permit differences in outcomes of linear algebra between architectures.
@bjeurissen, take a look at the test_openGL_geometry_shader_on_M1_macbook
branch (changes here). This basically strips out anything useful from the geometry shader and makes it as simple a pass-through as possible. A lot of stuff won't work any more (e.g. crop to slab), but at least it should answer the question as to whether the problem is the actions we take in the geometry shader, or the simple fact that we even use a geometry shader that is causing the problem...
@bjeurissen, take a look at the
test_openGL_geometry_shader_on_M1_macbook
branch (changes here).
Thanks! I just tried it, but this throws an uncaught exception (even with just a handful of tracks), so I guess the pass-through geometry shader introduced another problem:
frame #9: 0x0000000102c01d74 mrview`MR::GUI::GL::Shader::Program::link(this=0x00000001502d7a88) at shader.h:144:17
141 gl::GetProgramiv (index_, gl::LINK_STATUS, &status);
142 if (status == gl::FALSE_) {
143 debug();
-> 144 throw Exception (std::string ("error linking OpenGL shader program ID " + str(index_)));
145 }
146 }
147 void start () const {
EDIT: This is probably more helpful:
mrview: [ERROR] GLSL log [OpenGL shader program]: WARNING: Output of vertex shader 'v_end' not read by geometry shader
WARNING: Output of vertex shader 'v_include' not read by geometry shader
ERROR: Input of fragment shader 'g_include' not written by geometry shader
OK, I see it's a bit more strict than my AMD drivers...
Try that last commit, see if that works (I'm ignoring the warnings for now).
Try that last commit, see if that works (I'm ignoring the warnings for now).
with the passthrough shader, the behavior stays the same as with pseudotubes: slow performance with 10K tracks, crash with 100K tracks
Hi Guys, I was wondering whether there is any progress on this issue and whether I could help?
Currently on a M1 Mac and I was trying to visualise my streamlines (200k) but, as expected given the discussion above, mrview crashes with a somewhat nondescript error: '/usr/local/bin/mrview: line 7: 9688 Abort trap: 6 "${f}"/MRView.app/Contents/MacOS/mrview "$@"'
The version that I'm using is: == mrview 3.0.2 == 64 bit release version, built Sep 30 2020, using Eigen 3.3.7
Note that I was able to view the 200k streamlines by adding 'MRViewDefaultTractGeomType: Lines' to the ~/.mrview.conf file. Inline with the suggestion here: https://community.mrtrix.org/t/issues-with-psuedotube-rendering-on-apple-m1-macs/4505
Dear Max, thanks for reaching out! The problems on M1 Macs are believed to stem from the incomplete or buggy support of Geometry Shaders in the OpenGL implementation that is shipped with Apple M1 Macs. "Natively" the Apple M1 GPUs do not support Geometry Shaders at all, but given the OpenGL version that is bundled with macOS and given the fact that it still works with a limited amount of fibre tracks, it should be supported... However, there appear to be some caveats or bugs that we are unaware of.... (@neurolabusc: You seem to have quite some experience with 3D rendering using Apple M1 Macs. What is your take on this?)
Currently, the way to help would be to identify exactly where this problem occurs (e.g. identify what OpenGL error is reported or where in the shader the crash occurs), so we can either think of a work-around on our side or file a detailed bug report to Apple. I have tried using an OpenGL debugger from Apple to get to the bottom of this, but mrview grinds to a halt as soon as I start logging the OpenGL commands... There are quite some other tools available for OpenGL debugging, but I struggle to find solutions that are compatible with ARM64...
Another way you could help is by systematically testing all mrview features and check if anything else breaks down. So far we have:
I have a feeling we might be able to change our implementation to avoid the use of the geometry shader - but it's going to take quite a bit of effort to work through the maths and make sure the solution is actually OpenGL-compliant... I'm not sure I'll have any time to look into this for some time unfortunately... :unamused:
You may want to take a look at Surfice, which is distributed as a universal binary for macOS (natively supporting Intel and ARM64). It reads TCK format, so you can evaluate the performance.
In the Preferences
window you will find a checkbox "Better (but slower) tracks"
When we developed this, we initially used the Geometry Shader, but this provided very poor performance with some vendors and some drivers. The role of the geometry shader was to generate new vertices dynamically. Our solution was to have the GPU buffer store two vertices instead of one for each line, these are identical in all respects except for the W component of their surface normal. We use this to extrude the two vertices so that they form a plane facing the viewer.
Looking at MRtrix, you also use OpenGL 3.3. Core, so you can use the shaders verbatim.
As both a caveat and suggestion, I note that MRtrix uses GL_FLOAT for virtually all the buffer data. You can use the GPU RAM much more efficiently by using the smallest acceptable data type (8-bit RGBA for colors, and for normals I have used GL_INT_2_10_10_10_REV - which gives 10-bits precision for the X,Y,Z components of the normal and the 2 bits for the W component is sufficient for this application). However, be aware that the Apple M1 will show a massive performance penalty for using the GL_INT_2_10_10_10_REV. This is not a native type in Metal. Perhaps someday the Apple engineers will get around to converting this to a native type when you load the buffer, but in the mean time I would suggest the having the normal be four 16-bit GL_HALF floats. The ARM has native scalar and SIMD instructions for converting 32-bit single floats to 16-bit half floats.
Vertex Shader
#version 330
#define M_PI 3.1415926535897932384626433832795
layout(location = 0) in vec3 Vert;
layout(location = 3) in vec4 Norm;
layout(location = 6) in vec4 Clr;
uniform mat4 ModelViewProjectionMatrix;
uniform mat4 ModelViewMatrix;
uniform mat4 ProjectionMatrix;
uniform float Radius;
uniform mat3 NormalMatrix;
uniform vec3 LightPos = vec3(0.0, 20.0, 30.0); //LR, -DU+, -FN+
out lowp vec4 vClr;
out vec4 vP;
out mediump vec3 vN;
out float TextCordCylinder;
out vec2 TextCordEnd;
out float fType;
out vec3 vLightPos;
out mat3 Rot;
out float RotInversion;
out vec3 SimN;
mat3 AlignVectors(vec3 FromVector,vec3 ToVector, inout float Inversion){
vec3 v = cross(FromVector,ToVector);
float E = M_PI/2.0;
float s = length(v);
float c = dot(FromVector,ToVector);
float ang = acos(c);
if((M_PI-ang)<E){
Inversion=-1.0;
}
mat3 vX;
vX[0] = vec3(0,v[2],-v[1]);
vX[1] = vec3(-v[2],0,v[0]);
vX[2] = vec3(v[1],-v[0],0);
mat3 final = mat3(1.0)+vX+vX*vX*(1-c)/s*s*s*s;
return final;
}
float angle(vec3 a,vec3 b){
float c = dot(a,b);
return acos(c);
}
void main() {
float rScale = 0.001;
float vType = Norm.a;
vec3 VectorPoints = normalize(NormalMatrix*Norm.xyz);
vec4 VertexPosition = ModelViewMatrix*vec4(Vert, 1.0);
vec3 vecCameraPoint = vec3(0,0,1);
vec4 VectorBillboard = normalize(vec4(cross(VectorPoints, vecCameraPoint),0.0));
float kind = mod(gl_VertexID,2);
float inversion = 1.0;
if(vType==0.0){
VectorBillboard = VectorBillboard*Radius*rScale;
Rot=AlignVectors(vec3(0.0,-1.0,0.0),VectorPoints,inversion);
if(kind==0.0){
VertexPosition = VertexPosition-VectorBillboard;
TextCordCylinder = 0.0;
SimN=normalize(-VectorBillboard.xyz);
}else{
VertexPosition = VertexPosition+VectorBillboard;
TextCordCylinder = 1.0;
SimN=normalize(VectorBillboard.xyz);
}
}else if(vType==1.0){
vec4 VectorEndBillboard = normalize(vec4(cross(VectorBillboard.xyz,VectorPoints.xyz),0.0))*Radius*rScale;
Rot=AlignVectors(vec3(0.0,1.0,0.0),VectorBillboard.xyz,inversion);
SimN=normalize(VectorPoints.xyz);
VectorBillboard = VectorBillboard*Radius*rScale;
if(kind==0.0){
VertexPosition = VertexPosition-VectorBillboard+VectorEndBillboard;
TextCordEnd = vec2(1.0,0.0);
}else{
VertexPosition = VertexPosition+VectorBillboard+VectorEndBillboard;
TextCordEnd = vec2(1.0,1.0);
}
}else if(vType==-2.0){
vec4 VectorEndBillboard = normalize(vec4(cross(VectorBillboard.xyz,VectorPoints.xyz),0.0))*Radius*rScale;
Rot=AlignVectors(vec3(0.0,1.0,0.0),VectorBillboard.xyz,inversion);
SimN=normalize(VectorPoints.xyz);
VectorBillboard = VectorBillboard*Radius*rScale;
if(kind==0.0){
VertexPosition = VertexPosition-VectorBillboard-VectorEndBillboard;
TextCordEnd = vec2(0.0,0.0);
}else{
VertexPosition = VertexPosition+VectorBillboard-VectorEndBillboard;
TextCordEnd = vec2(0.0,1.0);
}
}else{
vClr=vec4(0.0,0.0,0.0,1.0);
}
RotInversion = inversion;
fType = vType;
vClr = Clr;
vP = ProjectionMatrix*VertexPosition;
gl_Position = vP;
vN = normalize((NormalMatrix * Norm.xyz));
vLightPos=LightPos;
}
Fragment Shader
#version 330
in lowp vec4 vClr;
in mediump vec3 vN;
in vec4 vP;
in float TextCordCylinder;
in float fType;
in vec2 TextCordEnd;
in vec3 vLightPos;
in mat3 Rot;
in vec3 SimN;
in float RotInversion;
uniform sampler1D normalmaptexture;
uniform sampler2D normalmaptexturesphere;
uniform float Ambient = 0.2;
uniform float Diffuse = 0.8;
uniform float Specular = 0.5;
uniform float Shininess = 60.0;
uniform float Edge = 0.5;
uniform float SpecularRough = 0.05;
out vec4 color;
void main() {
vec4 N;
vec3 NN;
if(fType==0.0){
N = texture(normalmaptexture , TextCordCylinder);
NN = Rot*(2.0*N.xyz-1.0);
}else{
N = texture(normalmaptexturesphere , TextCordEnd);
if(N.a==0.0)discard;
NN = Rot*(2.0*N.xyz-1.0);
}
vec3 SupX = Rot*vec3(0.0,0.0,N.z);
vec3 SupY = RotInversion*Rot*vec3(0.0,0.0,N.z);
NN.x = SupX.x+SimN.x;
NN.y = max(0.0,SupY.y) + SimN.y;
NN.z = NN.z;
vec3 difClr = vClr.rgb;
vec3 ambClr = vClr.rgb;
vec3 L = normalize(vLightPos);
vec3 n = NN;
float NormalSpec = pow(max(0.0,dot(vN,L)),Shininess);
float dif = max(0.0,dot(n,L)) * Diffuse;
float s = pow(max(0.0,dot(n,L)), 10.0) * Specular;
color = vec4(s + difClr*dif + Ambient*ambClr , 1.0);
}
Thanks @neurolabusc, your billboarding approach sounds very similar to what we currently do with the geometry shader in mrview
. I've tried very hard to avoid taking up any more RAM than the raw vertices so far, and I reckon I might have a way to keep doing that without a geometry shader - but I'd need to find time to work on it...
I might look into using 16-bit floats though, that might help a bit - though I have to admit I've never really found RAM to be a bottleneck - I've always been able to display 1M+ streamlines on my 2008 laptop, way too many for an acceptable frame rate... But it might come in handy if that does become a problem!
@Lestropie for the linear algebra, be aware that the M1 includes undocumented but extremely high performance AMX2 instructions. Apple's Accelerate framework allows you to use these often with the same calling conventions of other linear algebra libraries, as demonstrated by the main_mmul.cpp. If you can use these, you will get superior performance. I agree that different implementations will provide different results, in particular as fused-multiply add (FMA) instructions have less rounding error than sequential multiply and add instructions. My web page also provides links describing why SciPy and NumPy do not use Apple's high performance libraries. If they do work for your applications, the performance is really outstanding.
@jdtournier I agree that the ability of the geometry shader to emit vertices seems like the perfect solution. However, when I evaluated this (many years ago), I found these shaders often had a real performance hit. Each vertex in the code I describe is pretty compact:
For most computers: x3 32-bit floats position: vec3 Vert; x1 32-bit 10_10_10_2 normal+type: vec4 Norm; x1 32-bit color: vec4 Clr;
For the M1: x3 32-bit floats position: vec3 Vert; x4 16-bit half normal+type: vec4 Norm; x1 32-bit color: vec4 Clr;
Thanks @neurolabusc! I did a quick surfice vs mrview test on an M1 MacBook Pro (click the image to watch the movie):
I am using the same 10K tck file and surfice is clearly much more responsive. Moreover, with surfice I can load much larger tractograms on Apple M1, which would result in a crash when using MRview.
One additional thing I noticed (e.g. in the first frame) is that the colour encoding of the tracks between the two viewers seems off. This could just be a matter of different coordinate systems, but it might be that there is more to it.
That's just 10k streamlines...? OK, there's definitely room for improvement... On my Win10 laptop with Intel HD graphics 620, I max out at 60 FPS - basically hitting the monitor refresh rate since we're running with VSync. Running full-screen and zooming in to really fill the screen, I max out at around 40 FPS. I'd expect the M1 to be more capable than that, right...?
That's just 10k streamlines...?
Yes
OK, there's definitely room for improvement... On my Win10 laptop with Intel HD graphics 620, I max out at 60 FPS - basically hitting the monitor refresh rate since we're running with VSync. Running full-screen and zooming in to really fill the screen, I max out at around 40 FPS. I'd expect the M1 to be more capable than that, right...?
The M1 should be able to destroy Intel HD graphics 620. It is supposed to be the current king of integrated graphics, so much that it can even rival older discrete GPUs. https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested/3
That's just 10k streamlines...? OK, there's definitely room for improvement... On my Win10 laptop with Intel HD graphics 620, I max out at 60 FPS - basically hitting the monitor refresh rate since we're running with VSync. Running full-screen and zooming in to really fill the screen, I max out at around 40 FPS. I'd expect the M1 to be more capable than that, right...?
I ran mrview with the -fps option and got about 1 FPS with 10K pseudo tubes on Apple M1 MacBook Pro. Falling back to Line geometry FPS was 60.
@bjeurissen can you send me some of your streamline files (e.g. send a dropbox/google drive link to the email in my avatar)? I wonder if a few minor tweaks can improve the performance. In particular, Metal performs best if you pad some datatype as shown in Table 2.3 of the Metal specification. For example, my shaders may perform best if the vec3 Vert
is padded to take the space of a vec4. At some stage, I will update these for Metal. My MRIcroGL is already available supporting Metal natively on both Intel and ARM CPUs.
@bjeurissen thanks for the sample dataset. I did spend some time investigating this. Specifically, I investigated whether adjusting the alignment of data types to match early specifications of Metal helped (e.g. the GLSL vec3 equivalent in Metal if float3, but as noted in section 2.2 float3 requires the same 16-byte alignment of a float4, rather than the more compact 12 bytes). This had no impact, so I assume that the M1 GPUs are a bit less rigid in their expectations.
I did make a few tiny performance gains for the M1. Since this is specific to the M1, I have not released new versions for other platforms. Therefore, when macOS users download the universal binary they will get v1.0.20201102++
, with the ++
indicating improved M1 performance. You may want to try this out. For your huge tck files I strongly recommend that you uncheck the Better (but slower) tracks
option in the preferences. The better
mode uses cylinders, which require a lot more resources than the line imposters.
While Surfice is mesh based, I have also released a new version of my volume-based MRIcroGL. There are two versions of the universal binary for macOS: OpenGL and Metal. They have the same functionality but the latter is a tiny bit faster on modern computers like the M1
Finally, macOS users might want to try out my minimal MRIcro tool from the Apple AppStore. This has far fewer features than my other tools, and is constrained by Apple's sandboxing requirement. However, it might be a nice lightweight option for teaching classes. It is also a universal binary.
https://blog.dengine.net/2021/01/wonders-and-mysteries-of-the-m1/
Might contain some useful info.
I just upgraded to the latest Big Sur (11.4) release and it looks as if the OpenGL situation has changed:
On Apple M1, with macOS 12.6.1 (21G217) and OpenGL renderer 4.1 Metal - 76.3, the ROI drawing bug seems to gone (#2319). I am building from source (3.0.3-464-g84e11a42) with Qt 5.15.6.
So the only remaining issue (apart from poor performance in some scenarios) seems to be the unresponsiveness when displaying fixels with crop to slice disabled. How well does that work on other platforms?
How well does that work on other platforms?
Just had a go: on my system (16 core AMD Ryzen 9 3950X, AMD Radeon RX590), I get frame rates >100 fps with a generic uncropped fixel plot. Seems the geometry shader is still causing issues...
An interesting finding about this problem is that on my Macbook M2 running under Fedora Asahi (which has a working OpenGL implementation written from scratch by reverse engineering), the performance issues mentioned in this thread still persist. So the issue seems to be deeply in Apple's hardware/drivers.
TODO:
modify configure script to facilitate cross compilation:required if we want to build for arm64-apple in CI and github actions without the availability of arm64-apple environment (this is the case now)mostly requires infrastructure to disable runtime tests and getting version numbers from source code rather than binary invocations when building for another architecturealternative is to hijack config file from x86_64 build and patch it with arm64 target options (requires no modifications to configure script)