Skip to content

Commit

Permalink
ipt to gib updates
Browse files Browse the repository at this point in the history
  • Loading branch information
saumyashah7 committed Dec 18, 2020
1 parent 7671042 commit 54e843d
Show file tree
Hide file tree
Showing 9 changed files with 43 additions and 76 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -491,13 +491,14 @@ public String compileRunStatus(Authentication authentication) {
if(authentication.getPrincipal().toString().contains("ROLE_ADMIN"))
return "compileRun_v5";
else{
if(authentication.getPrincipal().toString().contains("Not granted any authorities")){
/*if(authentication.getPrincipal().toString().contains("Not granted any authorities")){
if(authentication.getPrincipal().toString().substring(0,65).equals("org.springframework.security.ldap.userdetails.LdapUserDetailsImpl"))
return "compileRun_v5";
else
return "accessDenied";
}else
return "accessDenied";
return "accessDenied";*/ //uncomment this block and remove the line below to enable ldap
return "accessDenied";
}

}
Expand Down
7 changes: 4 additions & 3 deletions springipt/src/main/webapp/WEB-INF/views/base.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

<!-- Navbar -->
<div class="navbar" style="width: 100%; border-radius: 0;">
<div class="container" style="width: 74%">
<div class="container" style="width: 93%">

<!--Tabs-->
<c:if test="${pageContext.request.userPrincipal.name != null}">
Expand Down Expand Up @@ -71,7 +71,8 @@

<c:if test="${(sessionScope.is_admin != 'true') && (sessionScope.is_ldap != 'true')}">
<a href="${contextPath}/terminal">Terminal</a>
<%-- <a href="${contextPath}/jobHistory">Job History</a> --%>
<a href="${contextPath}/compileRun">Compile & Run</a> <%--- comment this line when enble ldap --%>
<a href="${contextPath}/jobHistory">Job History</a> <%--- comment this line when enble ldap --%>
<a data-toggle="dropdown" href="#" aria-expanded="false">Help
<span class="caret"></span></a>
<ul class="dropdown-menu" style="margin-left: 28.5%; margin-top: 0px">
Expand Down Expand Up @@ -111,7 +112,7 @@
<a href="${contextPath}/comments">Message Board</a>
<a href="${contextPath}/aboutus">About Us</a>
<ul class="nav navbar-nav navbar-right">
<ul class="nav navbar-nav navbar-right" style="margin-right: 16.5%">
<li><a href="/registration"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
<li><a href="/login_normal"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
</ul>
Expand Down
37 changes: 16 additions & 21 deletions springipt/src/main/webapp/WEB-INF/views/faq.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -8,50 +8,45 @@
<div class="container" style="padding-left: 80px;padding-right: 130px">
<h1>FAQs</h1>
<h5>
What is the difference between logging in as an IPT user vs TACC user?
1. Does GIB support LDAP integration?
<br>
Answer: TACC users are users with TACC allocations and have created accounts through the TACC portal. Any user who meets these requirements should log in as a TACC user. All other users should create IPT user accounts and log in as an IPT user.
- Yes. Uncomment the ladp configuration from appconfig-security.xml, update credentials for ldap and follow the instructions from the code by searching for comments with keywords "enable ldap".
<br>
<br>
Does it matter which account - TACC or IPT - I use to login?
2. How can the batch computing mode be set-up on GIB?
<br>
Answer: Yes, users with TACC accounts should log in as TACC users. All other users should log in as IPT users.
- If the ldap is enabled on the portal then only ldap users can access batch mode, otherwise all the users have access to batch computing mode by default.
<br>
<br>
I just uploaded a file but when I type 'ls' in the terminal I do not see my file?
3. What if we need more Wetty containers than what can be provisioned on one VM?
<br>
Answer: Hit the Refresh List button and look for your file in the select dropdown.
- Multiple VMs with more containers can be registered to accomplish this. In the next release of the code, Docker Swarm and the code for orchestration of the VMs will be added to GIB.
<br>
<br>
How do I know if my files successfully uploaded?
4. How many minimum VMs do we need for setting up a web-portal with GIB?
<br>
Answer: Type "ls" (as in list) in the directory that the files were uploaded in.
- Two VMs are needed. One for the GIB web-portal and other for multiple Wetty terminals.
<br>
<br>
What directory to files get uploaded to?
5. How can we add SSL certificates and make the web-portal secure?
<br>
Answer: /home/gib/
- As a first step, you will need to have domain-names secured for your IP addresses associated with the VMs. As a next step, you will need to request for SSL certificates from your organization or purchase them. You will need to add the SSL certificates to the /etc/ssl/certs and keys to /etc/ssl/private.
<br>
It does not matter if this is not the current directory that the user is in.
<br>
6. Is Docker swarm supported?
<br>
What types of actions can you perform in the terminal?
- Currently it is under development and testing. It will be available very soon.
<br>
Answer: Any basic linux commands, create and edit files, as well as compile and run programs.
<br>
7. What are some of the projects that use GIB?
<br>
How do I submit a job?
- Interactive Parallelization Tool at TACC uses GIB: https://iptweb.tacc.utexas.edu/entry
<br>
Answer: You can only submit compile and run jobs if you are logged in with your TACC user account. All other users will only be able to run IPT to generate parallel code but not compile and run the generated code on Stampede2 or Comet.
<br>
8. What are the tools and technologies used to build GIB?
<br>
How can I use IPT from this web portal?
- The GIB portal is developed using Java Spring, MYSQL, python flask APIs, Bash scripting, Greyfish(https://github.com/ritua2/greyfish). Interactive access is provided using Wetty terminals.
<br>
Answer: The steps for using IPT from this web portal are presented at the following link: <a href="https://www.youtube.com/watch?v=AypWQf-yJus" target="_blank">https://www.youtube.com/watch?v=AypWQf-yJus</a> .
<!-- I do not see my job showing in the list?
<br>
Answer: The job hasn't been stored in DB, please check your DB connection.
<br> -->
</h5>


Expand Down
8 changes: 4 additions & 4 deletions springipt/src/main/webapp/WEB-INF/views/login_normal.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
<form method="POST" action="${contextPath}/login" class="form-signin" style="width: 30%; margin-left: 400px">
<div class="form-group" id="utype">
<label >User Type:</label> &nbsp;&nbsp;&nbsp;
<input type="radio" id="utype" name="utype" value="db"> IPT User
<span style="padding-left: 1em">
<input type="radio" id="utype" name="utype" value="tacc"> TACC User <br>
</span>
<input type="radio" id="utype" name="utype" value="db"> Web User
<!--<span style="padding-left: 1em">
<input type="radio" id="utype" name="utype" value="tacc"> LDAP User <br>
</span>--> <!-- remove the commented block to enable ldap -->
<c:if test="utype_error">
<div class="error">
<p>There was an error: ${ utype_error }</p>
Expand Down
29 changes: 7 additions & 22 deletions springipt/src/main/webapp/WEB-INF/views/login_v7.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

<div class="col-container" style="width: 95%; padding-left: 5%;">
<div class="col" style="background: transparent; width: 67%;">
<h3>Interactive Parallelization Tool (IPT) Demystifies Parallel Programming</h3>
<h3>Gateway-In-a-Box (GIB) - An out-of-the-box solution for provisioning web-portals that can support interactive and batch computing modes through the convenience of a web-browser</h3>
</div>

<div class="col" style="background: transparent; width: 3%;">
Expand All @@ -48,9 +48,10 @@
<div class="col-container" style="width: 95%; padding-left: 5%;">
<div class="col" style="background: #f2f3c3; width: 67%; border-color: #b9aa16; border-style: solid; border-width: 1px;">
<p>
Interactive Parallelization Tool (IPT) helps in transforming multiple classes of C/C++ applications into parallel applications in a user-guided manner. The parallel programming paradigms currently supported by IPT include MPI, OpenMP, CUDA. </p>
Gateway-In-a-Box (GIB) is a customizable software framework for provisioning web-portals that are capable of running scientific computing jobs both interactively in the VMs and in batch computing mode on the supercomputing platforms of interest. The interactive computing tools can be built into the Docker image for the terminal emulator that is a part of GIB, thereby, not only lowering the adoption barriers to these interactive tools by providing a ready-to-use environment, but also making it easy for developers to demo their products to the interested audience. The batch computing mode available through GIB can be customized for compiling and running applications on the supercomputers of interest. GIB can be easily deployed on the resources in the cloud or on-premises.
</p>
<p>
Now, IPT can be used from the convenience of the web-browser. It is simple. Start by creating an account on this website or use your existing TACC portal account information. If you login with your TACC portal account credentials, you will be also be able to compile and run the program generated by IPT on two XSEDE systems: Stampede2 and Comet.
GIB provides the features for registration, login, message-boards, file and folder upload/download, a portable filesystem named Greyfish, a terminal emulator to work in the command-line mode as shown in image below and compiling and running applications on remote computing platforms. The "Help", "Contact", and "About Us" pages along with the header and footer can be easily customized by developers to suit their needs. The web-portal for the Interactive Parallelization Tool (IPT) (iptweb.tacc.utexas.edu) has been developed using GIB and the video of introduction to IPT is shown below.
</p>


Expand All @@ -76,31 +77,15 @@
<div class="col" style="background: #f2f3c3; border-color: #b9aa16; border-style: solid; width: 30%; border-width: 1px;">

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
As of March 1, 2020, the version of IPT provided on this website can only parallelize C programs.
</p>

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
A talk on code correctness in parallel programs will be given at the EduHiPC 2019 workshop in Hyderabad, India, on December 17, 2019.
</p>

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
A tutorial and talk on IPT was hosted at the Terna Engineering College in Mumbai, India on December 2, 2019.
</p>

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
A talk on IPT was given at the TACC booth during SC19.
</p>

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
A tutorial on IPT was held in TACC on October 18th, 2019 event held in Austin, TX.
Vanilla version of gib has been released on December 18, 2020.
</p>

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
A tutorial on IPT was held at the TACCSTER 2019 event held in Austin, TX.
Iptweb at Texas Advanced Computing Center(TACC) which is a precursor of Gib, debuted in September, 2019.
</p>

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
A tutorial on IPT was held in TACC on September 14th, 2017 event held in Austin, TX.
In upcoming version of GIB, the docker swarm will be released to provide wetty terminals on demand.
</p>

</div>
Expand Down
4 changes: 2 additions & 2 deletions springipt/src/main/webapp/WEB-INF/views/vdemos.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
<jsp:include page="base.jsp" />

<div class="container" style="padding-left: 80px;">
<h3>The usage of IPT is demonstrated through the following videos:</h3>
<br><br>
<h3>Sample video-demos:</h3>
<br>

<table>
<tbody>
Expand Down
29 changes: 7 additions & 22 deletions springipt/src/main/webapp/WEB-INF/views/welcome.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

<div class="col-container" style="width: 95%; padding-left: 5%;">
<div class="col" style="background: transparent; width: 67%;">
<h3>Interactive Parallelization Tool (IPT) Demystifies Parallel Programming</h3>
<h3>Gateway-In-a-Box (GIB) - An out-of-the-box solution for provisioning web-portals that can support interactive and batch computing modes through the convenience of a web-browser</h3>
</div>

<div class="col" style="background: transparent; width: 3%;">
Expand All @@ -48,9 +48,10 @@
<div class="col-container" style="width: 95%; padding-left: 5%;">
<div class="col" style="background: #f2f3c3; width: 67%; border-color: #b9aa16; border-style: solid; border-width: 1px;">
<p>
Interactive Parallelization Tool (IPT) helps in transforming multiple classes of C/C++ applications into parallel applications in a user-guided manner. The parallel programming paradigms currently supported by IPT include MPI, OpenMP, CUDA. </p>
Gateway-In-a-Box (GIB) is a customizable software framework for provisioning web-portals that are capable of running scientific computing jobs both interactively in the VMs and in batch computing mode on the supercomputing platforms of interest. The interactive computing tools can be built into the Docker image for the terminal emulator that is a part of GIB, thereby, not only lowering the adoption barriers to these interactive tools by providing a ready-to-use environment, but also making it easy for developers to demo their products to the interested audience. The batch computing mode available through GIB can be customized for compiling and running applications on the supercomputers of interest. GIB can be easily deployed on the resources in the cloud or on-premises.
</p>
<p>
Now, IPT can be used from the convenience of the web-browser. It is simple. Start by creating an account on this website or use your existing TACC portal account information. If you login with your TACC portal account credentials, you will be also be able to compile and run the program generated by IPT on two XSEDE systems: Stampede2 and Comet.
GIB provides the features for registration, login, message-boards, file and folder upload/download, a portable filesystem named Greyfish, a terminal emulator to work in the command-line mode as shown in image below and compiling and running applications on remote computing platforms. The "Help", "Contact", and "About Us" pages along with the header and footer can be easily customized by developers to suit their needs. The web-portal for the Interactive Parallelization Tool (IPT) (iptweb.tacc.utexas.edu) has been developed using GIB and the video of introduction to IPT is shown below.
</p>


Expand All @@ -76,31 +77,15 @@
<div class="col" style="background: #f2f3c3; border-color: #b9aa16; border-style: solid; width: 30%; border-width: 1px;">

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
As of March 1, 2020, the version of IPT provided on this website can only parallelize C programs.
</p>

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
A talk on code correctness in parallel programs will be given at the EduHiPC 2019 workshop in Hyderabad, India, on December 17, 2019.
</p>

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
A tutorial and talk on IPT was hosted at the Terna Engineering College in Mumbai, India on December 2, 2019.
</p>

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
A talk on IPT was given at the TACC booth during SC19.
</p>

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
A tutorial on IPT was held in TACC on October 18th, 2019 event held in Austin, TX.
Vanilla version of gib has been released on December 18, 2020.
</p>

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
A tutorial on IPT was held at the TACCSTER 2019 event held in Austin, TX.
Iptweb at Texas Advanced Computing Center(TACC) which is a precursor of Gib, debuted in September, 2019.
</p>

<p id="rcorners_solid" style="background-color: #fcfcfc; ">
A tutorial on IPT was held in TACC on September 14th, 2017 event held in Austin, TX.
In upcoming version of GIB, the docker swarm will be released to provide wetty terminals on demand.
</p>

</div>
Expand Down
Binary file modified springipt/src/main/webapp/resources/images/IPT-Banner.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 54e843d

Please sign in to comment.