Okay, cool. Thanks, Kenneth. Yeah, hi. Hello, my name is JP Lehr and I'm a member of technical staff or software development in the Rockham OpenMP compiler team here at AMD. And today I want to talk about the AMD AOMP open source OpenMP compiler for AMD GPUs. Well, let's see. First, as a disclaimer, the information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions, or typographical errors, or may change. So just the information is provided as is. So just to get this out of the way. Okay. So now in this presentation, what I want to do is I want to first give a high level overview of the Rockham software stack before we actually look into AOMP with its software dependencies. And then we're going to dive a little more into how AOMP compilation and linking process works and how the AOMP architecture actually looks like to finally walk through a pretty like simple example of an open MP target of low code and what the compiler and the runtime would actually need to do. So let's let's start off with the with the Rockham software stack. Rockham is the open software platform for GPU compute. The platform is built for flexibility and performance and gives you access to the open compute languages compilers libraries and tools designed to accelerate code development and solve the toughest challenges in the world today. Right. According to the website. So with all these components Rockham is a pretty complex software ecosystem. And we're first going to look into how these are organized. And if you would actually want to install Rockham, the Rockham software stack. And then, first at this or at this point a brief disclaimer, I am not a packaging engineer for the Rockham software ecosystem. Okay. But but I want to have a quick walkthrough here of the actual packages that are provided for the for the installation. But since I'm working on the open MP comp, also compiler, I will focus on the open MP part. Okay. So here, this slide gives you an overview of the different meta packages that you can actually install for the operating from the operating system packages. So right at the bottom. We have the hard war hardware platform that is for example AMD instinct accelerators. And then on top we have the actual operating system. So for example, redhead or open Susie or Ubuntu. And then right above. We actually have the drivers, meaning the kernel GPU driver or probably better known as the KFD driver. So this is actually independent of whether you're actually using the the meta packages for the Rockham release or as we will see later the AOMP standalone installation procedure. And then sitting on top of the kernel GPU driver, we have the runtime or actual like multiple runtimes. So at the lower level run, we actually have the Rockham language runtime. And on top of that we have different language runtimes for for hip, or for open CL or for open MP. And so when we're going further up the stack we're moving into the into the Rockham software development kits and the developer tools. So this is where we have libraries and compilers or partly debuggers, and in my point of view. And then if you go even further up the software stack, then we go to like high level libraries for like machine learning and machine learning SDKs and then developer tools. So here we actually classify developer tools, including debuggers. But yeah, anyway, so so for this talk, we actually mainly concerned with with AOMP. And I typically think of AOMP as a like faster paced development preview open MP compiler, of which the features will at some point like trickle down into into Rockham. And then so this is basically here right open MP. But not to give an idea of why meta packages are used. Let's let's look at the next slide that outlines what are like actual components are pulled in in the respective meta packages. Let me just briefly answer the door real quick here. I'll be back in a second. Apologies for that. But yeah, so let's look at the at the actual packages that are pulled in via those meta packages. So this slide shows the actually so called associated packages and what that means is that if we look at the Rockham open MP SDK meta package, for example, we see that it will actually pull in a number of packages for, for example, the the Rockham that the Rockham core Rockham LVM and the open MP extras devil package, right. In addition, it will pull in the the Rockham language runtime package. And that is again a meta package. So this will be resolved to the HSA rocker runtime and the Rockham core package and the com gr package, and the open MP extras runtime package. Right. So there's there's a lot going on here. But now looking at this picture we can actually see that that many of the other components of the Rockham software stack aren't required for the open MP work. And as we see later, the MP build scripts won't even pull in a lot of the other Rockham components. Right. And so since I talked a lot about Rockham, and sometimes mentioned a OMP. Let's look at the two and understand what they are, like in particular, how they relate to each other and, and then also to LVM. Right. So in my vocabulary, sort of Rockham means specifically the AMD open source platform for GPU compute. So it consists of all the like libraries and tools, and is the thoroughly tested, let's call it released product by AMD. And on the other hand, a OMP is an open source compiler and runtime for open MP target of load. It is updated much more frequently as we actually mirror the source code to GitHub. Typically multiple times a day. And I think of a OMP as sort of as I said, a preview version of what may trickle down into the open MP compiler as part of the Rockham software stack. A site node. A OMP does not go through all of the Rockham release testing. So in A OMP, you may see things regress on one day and get back to the expected results the next day. So it's much more like living on on head, right, compared to like LVM upstream head. And then finally, we also have mainline LVM, or what I will also call upstream, right. So this is like the LVM project, a GitHub LVM project part. And so a OMP is an LVM fork that is both ahead and behind upstream. And so we have, we have started to put much more effort into upstreaming, or at least proposing changes into mainline LVM. And even though I'm not going to talk about that here too much, our team is also very active in upstreaming open MP upload support for the LVM flag project. And so in summary, Rockham is sort of the AMD open source compute platform, and A OMP is an open source open and open MP compiler that can be looked at sort of a preview version of what may come to Rockham for open MP support. And then there's LVM mainline, which is the open source community developed compiler to which AMD is actively contributing to. Now let's, let's get some jargon that I will be using throughout the talk out of the way. And I just want to make sure that we understand the same things when I when I use these words. This at upstream is mainline LVM project. Right. Then when I talk about a host, it's a host machine. So for example, an AMD epic processor based server. And then a target device or a device or a target is an attached accelerator. So for example, an AMD Instinct MI 200 GP. And then we have a host runtime that is the open MP runtime for the host functionality. So think of lip amp. And then there's lip OMP target. That is the the runtime component of the open MP host functionality that takes care of dispatching work from the host to the device. But it is itself running on the host. So this is the target or device runtime that actually implements runtime functionality on the device. And it's, as the name suggests, mainly if not not all of it is actually running on the device. And then an important concept is a plugin, which is a vendor specific implementation of functionality required by lip on target to execute a kernel on the device. And a kernel is an open MP target region, mainly like a piece of code that is compiled for and executed on the device. And then you may hear me use the words Q and signal. I will not try to like go into any particular, like detail here, however, should I use these terms, I'm likely to refer to HSA concepts that are part of the lowest layer of the amp implementation. And instead it is the HSA runtime talking directly to the to the like rocket slang when language runtime. Okay. So now that we have a somewhat clear picture of what a UMP is in the light of the rock and software stack. Let's look at a UMP itself, where you can get it and how you can build it and what you can use it for. Okay, so a UMP is an open source open MP compiler that specifically targets AMD GPUs. You can download it at GitHub, and I put this QR code there. So that will take you directly to the repository. A UMP is based on LVM clang, as it is a fork there of and tracks upstream pretty closely. So a UMP is typically just a few hours behind upstream, though it may drop to a day in case we have to work around certain upstream patches that would break downstream functionality. So added downstream functionality as of now includes both optimizations and additional features. One of the most important additions in a UMP for our users is actually are much faster reductions when compared to upstream LVM. And an additional actual additional feature is the OMP T that is the open MP tools interface functionality or the device site callbacks and tracing that is available in a UMP but not yet in upstream. At least at the time I put this presentation together. And this is still true. We had several patches up for review and we're reworking parts of the implementation to better fit the upstream needs. OMP T is coming to upstream at some point. We currently also have some bug fixes only downstream, though we actually really try to submit fixes to upstream instead of applying them to a OMP only. However, depending on the area of the code, the divergence between downstream a OMP and upstream LVM can actually make it pretty challenging to determine a particular fix for a bug. And finally, a OMP comes with Fortran support. And currently that is provided via classic flying, but our team focuses on moving the LVM flying project forward and enable target upload support there. This is all done upstream by the way. So the whole Fortran work is done upstream. So if you are curious about a OMP, you can you can go to GitHub and download it. Now, the OMP repository itself does not contain the actual LVM sources, but a number of scripts and config files to build a OMP from source. It is standalone in the sense that it requires only the KFD, the GPU kernel driver, and LibDRM to be installed on the system. This is actually also isolated from ROCCM installations via custom install prefix, and it uses R path on the runtime lips. So that we can actually find our own lips. And this makes it possible to use a local OMP installation on a system that has a ROCCM release installed. So for example, on my local development machine, I have a ROCCM installation to have access to the to the management tool like ROCCM SMI and for certain functionality checks that I want to run, but actually build and develop in a separate OMP installation. Now, building a OMP from source involves building some some required ROCCM components like the ROCCR runtime that actually provides the HSA implementation. And we will look a little more into detail at the various components on the next two slides. However, in case you do not want to build from source, you can find distribution packages on the AOMP GitHub for send us seven to nine and slash 15 sp4 as well as for Ubuntu 20 or four and 2204. Now, in getting back to the to the ROCCM components mentioned earlier. AOMP includes a variety of ROCCM components, for example, the ROCCGDB or the ROCCR runtime to keep track of the correct versions of the dependencies for a specific AOMP version. We actually use a manifest file that encodes the component, the repository and the tag or SHA of that reports repository that should be pulled in. So for example, AOMP lives on a particular ROCCM release branch for most of the components that will only change for a new ROCCM release. Right. However, sometimes it is actually necessary to update to a more recent commit or tag to get a needed bug fix. And so for for AOMP's own point releases, the manifest file is created separately so that it is available for future builds. In addition to the manifest file and for each component, the AOMP repository actually has a build script that builds that particular component in a configuration that is suitable for AOMP by setting the right CMake flags and installing it into the AOMP install prefix. So here's an example of a manifest file. And in line 20, for example, this is here, potentially a little hard to read for you. But the file specifies that for the remote ROCC tools and the path ROCC profiler with a component named ROCC profiler, the revision to pull in is the tag ROCCM-5.4.3. Now this means that we pull in the ROCCM 5.4.3 release version of ROCC profiler to build the particular AOMP version. And on the other hand for the ROCCM device lives, that is line 14, so a little further up here. We use the public remote of the Radion Open compute on GitHub and pull in the branch AMD STG Open with a particular revision listed there. Now this may be updated more frequently to sync the development between the device lives and the AOMP compiler. So as we are now somewhat familiar with the ROCCM software stack and how to obtain and build the AOMP compiler, we can now look into the compilation process and the device plugin architecture and how an actual OpenMP target of the program executes on the device. The compilation process actually requires code generation for both the host and for the device. So that means the compiler is actually invoked twice for the different LVM calls as target triplets. So if you consider a C or C++ OpenMP application, we can now follow the compilation process to go into a device tool chain, meaning that we first create a device IR, which is intermediate representation, which is then put into the device assembler, which creates the device object. If we are looking at the bottom of this picture, the same code goes into the host IR and then into the host object. Now finally, both object files are bundled together in what is typically referred to as a FAT binary. Now in that FAT binary, we still have code for the host and for the device that we need to take care of separately in the subsequent link step. Now the linking process requires to generate one host image and an embedded device executable. So we start with the FAT binary and first unbundle it into the device and the host objects again. The device object is moved through potentially device specific tools to create a device executable. And that device executable is wrapped into a correct ELF image. The linker then creates a correctly linked host executable in which it embeds the ELF image that contains the different images for each device kernel. Here we go. So those images can later be loaded in the lip on target plugins and be executed on the specific device. Now as part of that it also links any required libraries such as lip on target and others like. Now, while I do understand that the process to some extent, I'm not the primary expert for all technical details of the linking process and of this like whole driver stuff. So in case you have questions about this later on, I'll certainly try to answer them, but I may not know the answer. Okay, and then moving from the compilation and linking process to the execution time. The process is roughly as follows. So the executable starts like any other program on the host. The regular loader will load it and invoke main for CC++ applications. Moving to the application is other dependencies. It has the open MP runtime library and lip on target libraries as dependencies. Now when lip on target is initialized, it will look for the so called plugins. These vendor specific implementations are then used to separate common code, which is in lip on target from platform specific code, for example, the, the, the one for AMD GPUs. And the application hits a target region. Sorry, hits a target region, lip on target dispatches the, the so called kernel launch to the plugin. The plugin then uses the function name to open the device image that was embedded into the executable, look up the pointer to their code and load it. And then it initializes a kernel launch of that pointer using the particular launch configuration to obey any user specific number of threads and similar requests made through the open MP API. And finally, the kernel executes on the device and the plugin D initializes if required after the kernel finished should the kernel be, for example, a reduction. It may use helper functions on the device that are provided via the device runtime. Now this is similar to things like the lip see or live M a library that provides implementations for commonly for common and required operations. And then on the device via standardized interface. Now I've mentioned the plug in a couple of times without ever showing what it's what it is or where in the stack it actually sits. So let's look at at the plug in a little closer. The AMD GPU plug in is the vendor specific, meaning AMD specific part of lip on target. And so if you look at the picture we see that we have the hardware sitting at the bottom with the driver and the HSA runtime sitting on top of it. Now HSA stands for heterogeneous system architecture. And it is a standard mine maintained by the HSA foundation. The standard provides an interface to interact with heterogeneous systems that are composed of multiple agents that can talk to each other. In addition to the standard functionality AMD provides some extensions that are used in the AMD GPU plug in, for example to profile certain calls, or to prepare memory regions for data transfers between host and device. The AMD GPU plug in is built on top of the HSA runtime right. It uses the use of HSA locked up in memory for higher performance data transfers between host and device. It uses the was called HSA signals and cues to launch kernels and data transfers and manages dependencies between the signals to take care of asynchronous events. For most of the open OMPT profiling support, it uses the HSA profiling extensions to read the timings for specific signals and reports them to the OMPT client. Maybe one more as a note, HSA is pretty low level and should be used with some caution, mainly meaning that it is suited to implement a runtime system, but probably less well suited to implement higher level application logic. Although nothing would technically like stop you from creating signals and writing them to HSA yourself. You can see that the OMP plugins actually sitting on top of HSA and is queried by the by the target runtime and then dispatches into the HSA runtime. Now finally, with all those things said, let's look at a simple open MP example program and what it would look like when executing on an AMD GPU after being compiled with a OMP. Let's start with a C++ application that does not have any open MP annotation in it, right, it creates a stack array and initializes its entries with zero. Then it loops over the array and assigns each entry the value one, it then prints the values in order and finally return zero to indicate all went well. When we add the open MP pragma, this means the following. Target means offload the following block to a device. Teams distribute is distribute the work across teams of threads. And parallel for is the work share, work share the iterations of the following for loop across the team of threads. And then we have this map valves, which actually creates a data environment for that target region by applying the respective data movement. If you were to leave out the specifier in the map clause, this defaults to the now highlighted to from specifier. That means that the data environment shall be created by moving the data of the valves array from the host to the device before launching the kernel region. And then after the kernel finished moving the data from the device version of the valves array back to the host version of the valves array, that is the word from basically copy the array changes values and copy the changed values back. So putting it together we can think of the code as as this code actually executes on device. And then in in the lip on target. This code will actually hit the following markers. First, you do a data submit that is copying the data to the device, followed by a run region. That is actually execute the kernel on the device, followed by a final data retrieve, copying the data back from the device. Inside the data submit live on target would also create a mapping a mapping table to track which areas of memory are mapped to the device and which device pointers are assigned to a particular region. So this list is reference counted and should reference count for for particular device storage go to zero the device storage may be freed. And I see I'm actually running almost over time so I'm actually finished here I just want to like wrap it up. So in summary amp is an open source compiler for open MP target upload based on client LVM. It supports C and C plus plus and Fortran, and is much more frequently murder to the public GitHub instance than rock and releases features are typically merged into future rock and releases though understand this as a features may go into rock form. Compared to upstream LVM amp offers some more optimizations and features, and how we are actively working on reducing the delta and would like to upstream more of the currently only downstream changes. In general amp provides a standalone compiler that can be built using the scripts provided in the repository and actually only requires the kfd driver and live DRM to be installed on the system, as it pulls in the other required components and build some from source. And with that, thank you so much for your attention. I hope you found a piece of information interesting for you. Now I'd like to open it up for for questions. Okay, thanks a lot JP, can you hear me. Yes, loud and clear. Right. We have any questions in the room. Yeah, can you come up here that's going to be easy. The backwards. Thank you for the talk just one question, because I noticed the other day that in DC 13 they also added support for our flow to the newer and the CPUs for open MP. I'm wondering if the TCC open MP is in any way related to AOMP or it's a completely independent project. So, let's say I'm, I'm not aware of, like, that we that we add to that. I know there is a GCC. Well, so we are in touch with a contractor that like puts into puts off loading capabilities into GCC. But I'm not like 100% sure how much that is. And the run times as far as I understand, are developed separately. Although people are talking to each other. So I guess that's the best answer I can give us. I think there is talks. This might be actually related but I'm not completely sure other questions. They want to unmute themselves or we have some questions in the zoom zoom. Yeah, maybe I'll repeat the question. It's basically the same questions sort of by Thomas and Lars in them. In the easy in the EUM spec channel. It's back to slack channel. Very nice. So Thomas was asking, I'll just read the whole question. Maybe this is too technical, but if I want to test my code on some machine using the AMD computers, and the test machine has Intel CPUs and no AMD GPUs. Does the license allow me to test my code on my desktop or CI system, but am I not allowed not allowed to install the software stack there? Because step zero is making sure that I can build with a compiler before I go anywhere near testing of loading and so on. I'm not completely sure I understand the question actually, just because I'm, let me say I'm not aware of any legal issues installing AOMP on your machine. But I'm also not a legal person. Maybe this applies to AOCC because there are some restrictions there. This may be true, but so AOCC is different from AOMP. If you were to have an AOCC installation on the system. I believe that AOMP would pick up any proprietary like optimization passes that you may have installed and use it. However, if you just go to GitHub and download AOMP, it's there to be used. It's open source and it's released under the license that is available in the repository. And then the largest question is somewhat related. So he was going to ask if Rockham worked for the CPUs for us at playing at home. And then he said he just found out that some Rx 6000 series card got partial support about two weeks ago. It's a bit of a roadmap to road bump to adoption and you can't play around with it much. Yeah. I'm not sure how I got to answer that. Let's say so I for my for my development machine, I have an Rx 6800 desktop card here. I believe for AOMP, you can use a lot of desktop cards. Now, what I find very helpful is on the, if you look for the LLVM documentation of the AMD GPU back end, it will actually list like numerous AMD devices. And here what we call GFX numbers. So like the code version, not the code version D. The architecture, the actual device architecture. And within our C makes you will see all the GFXs that we support. Now, I believe the, like the non support that you will typically see is has a lot to do with the optimized libraries that you will get as part of the Rockham stack. And therefore, let's say using an open MP program and compiling it with AOMP for a device where would actually the GFX number would actually be supported from our CMake, you should get an executable program. Now, if it doesn't work. So the differences, for example, some of the data center GPUs have what is called a way front size of 64 whereas consumer cards have a size of width of 32. So we put them in the past we fix them because we use consumer cards for our development as well. So, I think it's, it's different to say that Rockham supports a certain like card or or a certain series of cards, and you can like generate code with our open MP compiler. I think these are two different things and you should be able to use our stuff on like many desktop systems. Okay. We'll wrap up here. Thank you very much. Thanks for having me.


Everybody forced here ripping Five father's day packs for Jerry H. You're Jerry. So one lot of five There you go Look man. Let's see a big numbered card here. All right start off with Don Mattingly and rookie Josh giddy Jamarant and a Jason Tatum Shohei Otani Omer Yurt seven rookie Dylan hard jr. Nice a cave rookie numbered six out of fifty Nice Cade Bryce Harper and a rookie Cade again Jerry nice Cade for you, bud. We'll get those cards right out to you


Sitten katsotaan, että koko kiinnoita on Rachel Frick, Kounsill- ja informaationressauksessa USA. Se on seuraavaksi digital library federation DLF. DLF on yksinkertaisuus, yksinkertaisuus, US, Canadian Academic and Research Libraries. DLF serves as a resource and catalyst for collaboration. This sounds very interesting among digital library developers. And actually she uses as a case study in her presentation, the Digital Public Library of America, which is a service for libraries, archives and museums. And we know that in Europe many countries are developing such services and also at European level we have the European, which is a similar type of service. So we are looking forward to your presentation, Rachel. The floor is yours. Thank you very much. Very much. I want to thank the Lever Program Planning Committee for inviting me here today to talk to you about friction and flow. A lot of times when people ask you to speak, they want to know a little bit more about who you are, what you're working for and here's just a little bit of information as my introducer did say. And I think one of my things I love most about my job is being a community organizer, getting people excited about ideas and prospects that can move our whole community forward. But in light of today's presentation, I think it's really important to know where I actually come from and why I believe open access and open venues to information is really important. I come from a very small town in a state not a lot of people know of outside the U.S. called West Virginia. I guess this town is called Nitro and it's situated in what we call the Chemical Valley, where we have a lot of chemical plants and have a lot of accidents. We did actually produce nitroglycerin and gunpowder for World War I. And here is a picture of the exact plants, first plant in Nitro. As you can gather from these facts, West Virginia is not a wealthy state within the United States. We pretty much rank the lowest in really nice economic development indicators like jobs, really low in education and actually a quality of life survey we were number 48. So all joking aside, growing up in this type of environment, where it is a challenge to have access to quality information. If I did not have access to a university library, if it wasn't sitting on a bus line from my home, I really wouldn't be here today. So open access for me and how do we translate the openness of our public libraries being on mass transit in our town, being open 24 hours a day into this digital world is really, really important. And so this leads to the topic of my talk. How do we minimize friction and how do we maximize flow of information to the people when they need it at the time that they need it? So I think a misconception is that open is free. Open is not free and that we actually have to collectively take on the cost of making access open because open should be an element of value, something we value highly within our community because it increases the flow of ideas, spawns innovation, creates information flow, transparency and reaches talent and entrepreneurship in our communities and provides access to everyone for learning and research. As we mentioned in the keynote, it's not so much the digital divide between rich countries and poor countries but there's digital divide across our countries whether you're a first world nation or a third world one. Another element of why we need to value open is that we exist in a mash-up culture. We like to take things and mash them with something else. We like to make our own recipes. We like to experiment and as we see this happening in our academic research library environment, our research is becoming increasingly more interdisciplinary. It is crossing institutional boundaries and national boundaries. Open is really important as we work through this as this collaboration moves forward. Another driver in what's changing up our environment is data. We talk about data a lot and I always ask people what do you mean when you're talking about data? We talk about data driven decision making. We talk about research data or the outputs of research and scholarly work on our campuses. We talk about data curation or data preservation. Linked open data, library collections of data which is what I'm going to focus on today and I love the one I've been seeing a lot lately as data is the new oil when we talk about moving from carbon based economies to information based ones. I'm sure you've heard this said before but the network really does change everything that we do. It changes the way we organize ourselves, the way we communicate with our communities and who those communities are. In the past when our keynote was talking about the written word I kept on thinking about the way we organize ourselves was really dependent on our geography and who was within so many miles of us. What are physical presence? In a networked world, in this information age when we rely on the internet, that's no longer holds true. Our communities span all of these boundaries. I know Lorke Dempsey talks about how the network changes libraries and he has come to labor and talked to you guys I think back in 2008 about the Decentred Library. The way we organize our libraries actually changes the model of service where before we weren't outside in bringing resources to our community we now are looking at the inside out library. The point I want to talk to you a little bit today is really the one that's point number three. There it is. That the fact that we need to be closer and more engaged with the creation management use and sharing of all our information resources as well as that discovery happens elsewhere. People don't necessarily have to come to the library to discover our services. So the idea of a library as platform. How many people have heard this whole discussion or conversational thread around library as platform? A few. David Weinberger talks about this a lot. David Lancas as well. It's how we actually enable knowledge creation. How we as librarians, our new mission should be not gatekeepers to cultural heritage but actually facilitators of conversations that are important for new knowledge creation. So from where I stand in the conversations I've been hearing the points of friction in this networked world where data is the coin of the realm so to speak. Those points of friction are around our access points or delivery points or those platforms or systems. Whether or not we've cataloged our collection how many people have collections in the back room that have minimal or no cataloging? It's okay. You're not alone. Or just the fact that the metadata there is so minimal there isn't a lot of meaning to associate those collections. And I think the third piece is of rights in terms of use. How do we express how to access and reuse our collection to facilitate scholarship and learning outside of our walls, within our walls and on the net? So what I'm going to do today is talk to you about this through the lens of the Digital Public Library of America. How many people have heard of the DPLA? Great. Awesome. As you know this began in 2011 and it was funded initially by the Alpha Peace Loan Foundation. And we took two years to really plan what we wanted to do. We consulted colleagues at Europeana as well as other national libraries to really talk about what we wanted the digital library to be. And we launched in 2013 in April with over 2 million records. Just to be clear, DPLA does not have any digital content within itself, but we actually aggregate metadata records catalog records of other cultural heritage organizations. So we don't hold the digital objects themselves unless you count digital objects as metadata records. So we have 6 million objects or 6 million metadata records. And we like to say that the DPLA is not just a portal but we view ourselves as a platform for innovation and a public option for change. So currently just to give you a little bit of feedback about the DPLA, we have things called hubs, both service hubs and content hubs, we're present right now physically with hubs in over 12 states and we're working on more. Here's just a small example of some of the organizations that are content hubs. These are people that have over 200,000 objects to contribute like the Internet Archive, the Biodiversity Heritage Library, the National Archives, New York Public Library, Hottie Trust just to name a few. Our service hubs are people that actually gather or aggregate metadata either on a regional or state-based model. And we have folks from Texas, as was mentioned earlier, Minnesota, Kentucky, North Carolina and something called the Midwest Digital Library, which is a large region. We're working to have more of these types of hubs throughout the United States. So with 12 content hubs, nine service hubs, we have our 1,200 partners. And to break it down, this kind of gives you a graph. A lot of times when people hear a digital public library in America, people argue whether it's a public library, whether it's an academic library. And as you can see, our academic and university libraries contribute over a quarter of the content that's in our DPLA, whereas public libraries are coming in at 15%. We have a wide variety. And as you get, this is our portal. This is our front page. This is where people come to look at things for the digital public library one item at a time. And it's that more traditional sense, that the way we've used digital library collections for the last 20 years, come to my front door, come through my search box, and I will show you your search results one at a time. We also have other ways to interface with DPLA. You can come to the DPLA content through a timeline. You can pick a date and see the amount of collections that are in that particular time. You can browse by a map. We have this really interesting tool called a bookshelf that tries to replicate stacks, so you can do a virtual browse if you'd like to. And we also have traditional exhibits. So all that stuff that we normally do, that normal mode of operating, but in a digital space, which is really wonderful. I don't want to knock it at all. This is stuff that people find very valuable. But if we're thinking about our collections as data, these types of tools don't really translate, or the way we interface with our collections, the way that our scholars, or at least from our digital humanities scholars, want to view our collections. They want to see our collections as data. They want to be able to access that data in ways that they can easily move it to the environments that they work in using the tools that they use. Ideally, they would love to do a bulk download of what we've got. This is actually Dr. William Null, who is now at the University of Pennsylvania, who was recognized by the White House for a Champion of Change in his work around open data and the digital humanities. So at DPLA, we like to say we're a platform to build on, and we do that by providing an API, which is, if you can't read this tweet, I think it's hysterical.  So we realize that people want to come to us, not through the front door, and look at things like you browse a library, one page at a time, one image at a time, etc., and so forth, but they want to be able to take it with them and do what they want to. They want to mash it up, right? So how many people know what an API is? Good. I can tell you what the abbreviation is, and that's pretty much about it. But the idea is to be able to provide a port or a place that people can grab the data and do what they want with it. And like I said today, I'm going to talk about collections data, but I think it's really interesting to explore the idea of also sharing data about our organizations, our usage data about our collections, and also the demographic data about our profession in general to see what kind of stories would come out. Because I really believe that the most interesting stories and the way that we can tell relevance about the work that we do can be done by our biggest fans, and if we release this data, it will be amazing what kind of stories would come out. Because I truly believe in this notion that Rufus Pollack talks about at the Open Knowledge Foundation that the best thing to do with your data will be thought of by somebody else. So how do we enable this? How do you provide their services? As I mentioned at the DPLA, we do provide this API access, but we also have an app library and we also have, you can get the code for our systems on GitHub. But here's an example of one that apps that somebody built on a lighter side, it's a Twitter bot that will occasionally tweet out images of cats that are in the DPLA library. He is kind of amusing, but it's at historic cats on Twitter, if you're a follower of Twitter. More serious applications of the DPLA resources, serendipomatic, you can actually run text-based documents, syllabus, syllabi, lesson plans, your research paper, and it will pull out images out of the DPLA that it matches with the text. Another tool courses, you know, that ubiquitous iPhone app, right? And then we also have actually a WordPress plugin that can search across a variety of collections right in your browser. What's amazing about serendipimatic is when it came out and it was targeting DPLA, within a week coders had gone in and actually adjusted the code, so it not only searches the digital public library of America, but also Europeana, DigitalNZ, or New Zealand, and the Australian National Collections. So even within our own open access apps, people are coming back and improving them. In a research context, what's available through an API to about bulk download can really draw on new pictures and scholarship. This is an example of newspaper data pulled from a national newspaper project at the Library of Congress, so it takes the bibliographic information about newspapers, the time, date, circulation, and language and actually maps it across the timeline to demonstrate westward expansion across the United States, but also the rise and diminish of the number of languages that newspapers were published in as time went through. So there's many valuable ways that the more we expose data in bulk in new ways that maximize the network that can really change the face of scholarship. So what does this mean for us in operations? This was a recent report that just came out in the last ten days, two weeks, called Metadata as an Interface. It came out from OCLC. And in it talks about how we need to start cataloging for a network age. We need to catalog our collections, realizing that our collections may not always have the context of our organization. When you think about how Europeana and DPLA aggregate your catalog records, right, about your collections, and then they get into a big pool, some of the context about your collection that's inferred when somebody comes to your website gets lost when it's all in a big pile. So how do we catalog for the network? It's a little bit different. And in this study, they talk about how we need to describe more about the aboutness of our collections, those subject indicators, those things that help identify likeness so that your pile of Spanish literature can match up to somebody else's collection of Spanish literature and then you can see a whole body. Does that make sense? So in their findings, they said, in archival finding age, and when we're talking about cataloging collections, I think a lot of us have EAD finding aids or some sort of paper finding aid, they found out that only 60% of this minimal cataloging even includes subject headings. So this is an area of friction that we really need to think about when we're processing our collections for a digital age. But it's also not just cataloging our collections within our institutional systems. It's thinking about how we catalog for use for other tools or in the environments where people live. And in those environments, of course we talk a lot about Wikipedia. This is just one example of a tool that's a really lightweight, web-based editing tool that allows people to take authority records and pump them up into Wikipedia as actual records or entries into Wikipedia. What's important about enriching Wikipedia is actually part of the whole ecosystem of link data. How many people are familiar with DBpedia? All right, for those of you not. Raising your hands, DBpedia is a structured language around concepts that are in Wikipedia. And it is, and if you look at these link data maps, this is an old one from 2011, but the most current one I could find, DBpedia is still the biggest contributor of knowledge into the link data world. So as you enrich Wikipedia with information about your collections and information about your organization through those collections, it then feeds into the linked web and more and more your library and its collections become of the web instead of just sitting on it. So things like hackathons and we call them glam days out hackathons are really more important and should be considered just as important to car logging activities logging in mark records into your ILS system. If it's important enough for the U.S. National Archives and Records Commission, I think it's important enough for our everyday practice. Just this week they announced their commitment. They already have 100,000 images uploaded to Wikimedia and they've committed to uploading on all their images to Wikimedia. DPLA is committed to link data and we're working with our partners that as we bring their metadata in and as we provide data through our API it will be in a link data format for easy consumption. This is nice but everybody wants to know how does this affect you? How does a sharing my collection making my metadata part of the network making it more diffuse and people not coming to my front door what does that mean? With DPLA even though we had over a million unique visitors last year we had over 9 million unique visitors to our API. 90% of the traffic for DPLA comes through the back door which is what our goal was 80% when we were in planning so 90% is actually quite phenomenal. We're starting to see results for DPLA show up in licensed databases that our academic libraries subscribe to. It's really interesting when somebody is searching a resource they see the main list of hints and then hits and then inner file this actually results from DPLA. Mountain West Digital Library saw a great increase in their traffic and most recently they let us know that in the past Google was their top referrer site back to Mountain West now it's actually DPLA. How are we able to do this and this gets to my last point of friction surround rights. Anyone who works with DPLA and contributing their metadata agrees that their metadata is under license under CC0. People familiar with CC0? Yeah? Good. Anybody who receives funds from DPLA to digitize their collections agree that those collections actually be governed by some level of CC license with the recommendation being CC by. So what does that do? I mean it's not just the metadata but more and more I think we need to highlight the positive side of what's coming out of digital libraries. The British Library added 1 million public domain images to Flickr. We saw that the Rijks Museum threw out 120 images, 20,000 images as public domain met in New York put out 400,000 images as public domain. More and more we see these announcements around sharing metadata under CC0. Providing exposure to public domain works, whether they're books, images, text, etc. It's amazing what we're able to put out for people to use. But at the same time unless we actively engage with the community of creators and innovators those mark, the people that are making the process, the people that the coders and the developers, the people that make applications like history, pen and findry. People aren't just going to breeze by our website and notice that you happen to have an API with data. We need to broadcast and communicate and do outreach to these communities and for the last year I've been working with folks at OpenGlam going to a number of tech conferences to talk to these developers about the rich resources that are available to them through our libraries, archives and museums. But even though we've done a lot of work, I mean we've been digitizing collections for over 20 years we have a lot of content out there you run across an article like this that was published in first Monday last month and it's called Enclosing the Public Domain they did a research study how many people read this? It was in the June issue. I don't mind if you look at it right now truly. They did a survey of New Zealand institutional repositories and of the public domain work center in those institutional repositories. Over 48% of those public domain works were then the digitizing institution asserted some sort of right so it closed off that book from actually being in the public domain even though by copyright terms it was. So we need to watch as organizations of course this was my first response are you kidding me it's in public domain us as cultural heritage advocates as facilitators of knowledge creation we should be identifying that stuff doing everything we can to push that out there because there's only so much of that we can control but I understand that rights determination is very difficult this is just a screenshot of the arrow project people know about arrow about doing rights management clearance yeah if you looked at that schematic it's enough to give anybody a headache it's hard we do things at the University of Michigan call the copyright review management system to establish public domain books it's not very clear cut and I understand that but that should be a top organizational priority I think a lot of times we talk about open access and we look outside of our organizational bounds and we really need to make sure we're doing everything we can to get that information out there and in ways that are accessible and communicating it and not only human readable ways but in machine readable ways this is an announcement of a grant that was given to the DPLA as a joint project between DPLA and Europeana it's called getting rights right and it's a way to establish consistent and machine readable expressions of access and use rights on our digitized work that is not a small project but I think it's really amazing that this is being funded by night and it was under the night's news challenge and they advocated this is a way to move information in our communities to use and that rights they identified was a big hurdle so they're hoping that by late fall early winter they will have some of this language out for use so in closing there was a great blog post by Michael Edson not too long ago called dark matter and I think this kind of keyed into summer months that was made earlier this morning the dark matter of the internet is open, it's social it's peer to peer, it's read, write it's open to everyone and it's the future of our museums our libraries and our archives and just in the points I made today we need to make sure we're exposing as much of this dark matter to the light as possible because that's how I think we can be leaders and understand the benefits of open by being those experienced knowledgeable practitioners of open ourselves and be those what was it, buildings of light cathedrals of light so with that I ran through that really fast because I know we are a little bit back on time but now it's just open for questions so thank you so thank you very much for your presentation now we have some five minutes for questions so who would like to start I think there was plenty you gave plenty of possibilities for questions I can see two hands here one here in the front okay the mic went back but there so if you have other mics then there is one David Proso here in the front but we can take that one now yes please I can see who it is I'm Marion from Fraunhofer Association you mentioned content hubs and service hubs can you explain what role service hubs have oh yeah there's a lot we talk a lot about hubs and I know it's easy to get just confused content hubs are basically those institutions that have over 200,000 objects that they want to produce and you want to know about the service hubs okay so content hubs are really lightweight they just give us stuff service hubs are organizations that we've identified that do things that already aggregate collections data from a number of different institutions so it might be a state library or like I said a regional network a consortium that already aggregates data for their partners but also they agree to do either things like metadata normalization they might in the future offer digitization services so they provide other services both to DPLA but also to the organizations that they're allied with so they're you know they have they're that broker in between DPLA and a lot of individual small institutions that are out in the United States does that answer your question thank you it's David Prosser from Research Libraries UK I'm really interested in the friction around cataloging so we just released with the European library 18 million bibliographic records as linked open data and while we see that as a step forward we still see there's lots of problems so the UK has something like 15 million unkatalogged items that are hidden we know that we need to enhance the cataloging of the items that are already cataloged but I think that for individual institutions the cost benefit isn't there yet it's going to cost a lot for us to enhance these records it's going to cost a lot to catalog the hidden collections and some of the data that you presented show some of the benefits but I wonder if there's a way of beginning to lower the barriers are you working with the Digital Public Library of America to sort of provide tools or help for institutions to try get those catalog records enhanced or to begin to catalog the hidden collections yes I like to say yes to everything yes and there are a lot of questions and your questions I want to try to pull it apart yes I think it is really important to talk to people how cataloging for network use is different than cataloging for institutional analog in person use and I think that's the first thing we need to talk about before we start talking about value because people don't understand how data plays on the network and how aggregations work and how words can lose their meaning when we start piling them in buckets and how we need to catalog so that we can express things as relationships then that's the first step so it's really trying to rethink cataloging and I know cataloging for some people is very exciting for other people it is their passion so how do we connect these folks right the other thing is as you saw on a show of hands there are a lot of collections that either you don't have your expertise within your institution I'm thinking of time based media, moving image, audio a lot of people put off processing collections because they don't have the expertise in house building networks and help people processes, collections but they still retain ownership but those records somehow get into these bigger pools so that they can be aggregated and people find access for them I keep on bumping the mic, I'm sorry so yes, DPLA has talked about working with our service hubs to help folks with that another program my home institution which is the council on library and information resources we've been managing a grant program for I want to say close to being 8 and 10 years called the hidden collections program and it's funded by the Mellon foundation in the United States and we've distributed over 23 million dollars over that course of time to help people to catalog their collections so it's going back and talking to administration about how cataloging these collections these unique collections these very different collections what is the return on investment and this whole idea of dark matter is a really powerful idea because when you think about in a linked data world there are probably only a certain amount of collections that can express a small number of relationships and that as long as those collections remain hidden as long as those relationships remain unexpressed are what we can see and what we can learn from what we can see is still limited so it's actually a really part of the scholarly endeavor that we make sure that our collections are exposed so that people can really truly understand the universe of knowledge that they're working in Does that make sense? There's one question quite in the middle here Just raise your hand This is such a great demonstration of collaboration here passing the microphone Hi John Tuck Royal Holloway University of London I'm really interested in seeing all this stuff put out there but really where is the through DPLA, through Europeaner etc talking to academics in my institution they look at this and they say oh that's all very nice where is the actual evidence in research output terms that they are actually using this material we're putting out there when we talk about usage data and providing that out so people can see I can't tell you right now how many people are using DPLA for research but when you look at fields like digital humanities and what they can do their raw materials are basically our collections a lot of people they might have scanned the stuff in their office and ordered the stuff off eBay I've known professors that have ordered stuff off a rare book dealers and they're in their office so they're just attaining books and scanning them to do their research so I will not tell you there but I think it's important to think about yes that is definitely a research question that's out there and we need to be more open with our data of who's using but then it gets into privacy you know do you really want to actually have people write down their names and say who's using what one more the last one yeah what about born digital what about born digital yeah I mean it's born digital is included in that I mean it's our capacity to handle born digital is really important to start investing in now right now we have our investing in our library schools and especially around in our archives they see more activity in the archival community around digital born digital and you know we were talking earlier in one of the workshops around web archiving there is a significant around work being done internationally around web archiving it's once again I think really important to understand what is being done and also work with each other to cover and fill in the gaps when we were talking about collecting everything about everything we can't and we can't preserve everything right so we it's more important that we think outside of our institutional context and within our partners and around the globe I love coming to international meetings because I learned so much what's happening here and I can take it home and say hey we can partner with X, Y and Z it's really important that we lose some of this institutional based pride and competition because we will not be able to handle born digital large scale unless we partner together thank you again


Rapper Rick Ross clearly has a taste for the finer things in life So it should come as no surprise that he just dropped 35 million dollars on a mega mansion Located on the exclusive star island in Miami. His waterfront estate spans a massive 40,000 square feet of space and it's located in the middle of the Celeb-filled enclave with neighbors like Diddy to Gloria Estefan, well-known billionaires and more. Among all of the mansions glorious amenities Ross can kick back in his royal master suite that has dual walking closets a wet bar Two marble baths and more when the rapper gets sick of his new place in Florida He can hop on his private jet back to his Atlanta mansion the jet which he's been flaunting on Instagram this summer He's recently shared a series of photos and videos from his 18 passenger plane that boasts his name in gold and blaze Naming it Maybach Airlines Rick Ross also uses the private jet hangar to park all of his insane car collection In July it was reported that Rick Ross had his eye on waterfront estate Located in the exclusive star island in Miami, Florida now Let's confirm that the rapper has indeed officially closed on the mansion purchasing the property for 35 million dollars Ross will join all of the other celebrities and high-rollers who have properties here including likes of Diddy J Lo to Gloria and Emilio Estefan as well as famous billionaires with only 30 homes in star island It's a big deal to score a place here and only the wealthiest can afford it Rick Ross's new mansion spent nearly 13,000 square feet of space inside the main home while the estate itself is reported to be 40,000 square feet one of the realtors working on the sale said about the rapper's reaction to the home He instantly fell in love with the Grand Entry It has a very long driveway stretching towards the mansion. It creates an air of real luxury The architecture also played a part as it's far beyond the ordinary modern home And he plans to enhance it to reflect his personal style inside his new home There are six bedrooms including his massive primary suite as well as nine bathrooms walking in this waterfront mansion It still makes sure to soak up its impressive surroundings with all of the large windows throughout showing off those views The two-story estate has a glass enclosed way that sets the tone for what's to come The double-height main living room has 30 foot ceilings as well as a wall full of windows and a custom mahogany fireplace Other common rooms include a media room and elsewhere Ross can entertain in the games room if he chooses Which boasts a sunken web bar and billiards table There's a library here with classic wood paneling and built-in bookshelves, too But something tells me Ross would use this space as a private office Nearby the large chef's kitchen is set up with granite counters, a top-of-the-line appliances A butler's pantry and even a separate breakfast room Not to mention Ross's master suite here is fit for a king Boasting wraparound windows facing the bay alongside features like double bathrooms and dual-walking closets, too The record exec is known for throwing his share of star-studded parties So the spacious swimming pool, outdoor kitchen, and sprawling stone terrace should come in handy Ross described this big-star island property purchase as a quote-on-quote Major piece to the puzzle in terms of building up his real estate portfolio Back in April, he revealed that he bought a home in Texas Sharing a photo on Instagram of himself wearing a cowboy hat and boots He said on the post, I invite the great state of Texas to take a shot of Deacon Whiskey to celebrate my newest home In the lone star state, Rodeo Rick The same month, the singer reportedly scooped up an Atlanta area estate as well His latest star island home also boasts 100 feet of generous waterfront on Biscayne Bay Property currently has a two-car garage on the premises, too But I don't think it would have enough room for all of his prized cars When he travels by boat, he also has a 40-foot dock Equipped with an electric and water pedestal But speaking of his prized cars, I know where he keeps plenty of them And it's not at home Rick Ross is also one of the latest celebs to purchase a private jet Taking to social media recently to show off his Gulfstream 550 As well as the private jet hangar where he parks a ton of his exotic cars The aircraft is registered as N676AS Empowered by two Rolls-Royce engines Built in 2012, Ross reportedly purchased the jet in April 2023 Since then, the aircraft has undergone a makeover by Duncan Aviation And now it's worth a custom all-black look with Ross's name Stylized as Rick Ross emblazoned in gold letters on the side The tail features the logo of the Maybach Music Group The record label established by Ross in 2009 It's not known how much he paid for the G550 But similar jets typically cost in the region of $15 to $20 million Depending on their age Ross shot to fame in the early 2000s After signing a multi-million dollar record deal with fellow rapper Jay-Z And went on to found the record label Maybach Music Group Today he resides at his main mansion in Fayetteville, Georgia Where he also plans to run for mayor next year Ross is no stranger to luxury vehicles either Hosting an annual gathering for fellow car enthusiasts At one of his Florida mansions Over on Instagram, Ross recently shared a series of photos and videos Of the 18 passenger plane Ross thanked Duncan Aviation for the plane $5 billion play Ross said in a video taken next to the plane Who want to go around the world with Ricky Rosé? I'm letting you know right now Inside the plane, Ross showed off the luxurious decor and automated features Including a self-folding table and automated shades Furthermore, Ross parks a ton of his mega-car collection At his private jet hangar And we have seen him showing off the fresh collection of wheels and social media The hangar clearly has plenty of space For a handful of the rapper's stunning cars How many of the cars park there can you name? He just might have the craziest car collection of any rapper out there Owning more than 100 with every dream car you could imagine From a Tesla to a Hummer Multiple Rolls-Royce, Maybachs, Ferrari, Lamborghinis As well as classic American muscle cars When he's not parking them at his private jet hangar He also hosts a massive annual car show At his 235-acre Georgia property While Rick Ross has no shortage of homes His main residence is located in Fayetteville, Georgia Only about 15 miles from downtown Atlanta This home formerly belonged to heavyweight boxing champ Evander Holyfield Who originally had it built in 1994 And it boasts European influence and contemporary mixed with timeless architecture Ross purchased this mansion in 2014 for $5.8 million After it had fallen into foreclosure So it was basically quite the steal Not only does the land spend over 200 acres There's a 54,000-square-foot mansion anchoring the property With 109 rooms throughout Rick's luxury home is full of upscale amenities fit for a king Including a 135-seat movie theater and dining room With a 100 guest capacity All surrounded by amazing outdoor features to match The grounds of Ross's estate include a pond A horse barn and a 4,000-square-foot guest house Not to mention one of the property's pools The Outdoor One, which holds 350,000 gallons of water Makes it one of the biggest private pools in all of the USA The other pool is located indoors Another highlights here include a bowling alley, boxing gym, and a recording studio Rick's mega mansion boasts 12 bedrooms and 21 bathrooms And his top-of-the-line master suite had a walk-in closet And a dressing room as well as a spa style en suite With Jacuzzi tub surrounded by pillars Other spaces in the home include a large ballroom A great room with floors, ceiling windows, and chandelier And, of course, more common spaces from the kitchen to the family rooms The front driveway has a center fountain with landscaping And embellished with an R for his initials So that is the first thing you see upon arrival Finally, the premises offers even more sports-related amenities On the grounds like a softball field Complete with lights and a scoreboard, a handball court, and a basketball court Alright folks, that's gonna wrap up today's Rick Ross house and private jet tour But before we go, answer this question for me Out of all of Rick Ross's many cars, which one would you choose if you could take one? Let me know down in the comments and don't forget to like, subscribe, and follow me on Instagram to chat I'm Kara and I'll see you all in another video Bye!


On to high school cross country at the Bemidji Invite starting on the boys side. Bemidji's Isaac Berg got out to the hot start leading for most of this race but he'd get edged out on the last leg. He'd finish in second place with a time of 15 minutes 55 seconds and moving to the girls side. Bemidji outnumbered in this one but that didn't bother Sadie Hamrin. She kept it tight early on in the race but Perum's Covington Brennan would pull away down the stretch as Hamrin finishes in second place with a time of 19 minutes 46 seconds and here's a look at your scores. Perum winning it on the boys side with a final of 28 Bemidji coming in second place and on the girls side Perum also taking that one with a score of 29 Bemidji coming in third with a score of 56. Here's head coach Ryan Ellsworth after the match. We've been happy with the season. The kids have put in a lot of work. A lot of work in the off season. We're very proud of what they've accomplished so far and we've got the section meet next Thursday and we're looking forward to do something there. We've got some individuals at a very good shot. I think our girls can improve upon our finish last year by fair margin and the boys are in the mix to see if they can make it to state and it's all we can ask for. Go up show up and compete and do the best that we can. If you've enjoyed this segment of Lakeland News please consider making a tax deductible contribution to Lakeland Public Television.